使用场景编辑器获取SKSpriteNode的userData

时间:2016-10-06 19:32:52

标签: swift sprite-kit skspritenode user-data

我在场景编辑器中设置了我的SKSpriteNode的userData:

enter image description here

然后我尝试使用:

来获取它
let sprite:SKSpriteNode = self.childNode(withName: "sprite") as? SKSpriteNode
let numero:Int = sprite.userdata?.valueForKey("numero") as! Int

但是我的价值为零:"致命错误:在打开一个可选值&#34时出乎意料地发现了nil;

我还尝试使用:

初始化userData
sprite.userData? = NSMutableDictionary()

但结果相同......

1 个答案:

答案 0 :(得分:1)

也许你的精灵也是零:

尝试使用可选绑定(如果允许)和" //"来搜索您的精灵。在精灵之前。

if let sprite = self.childNode(withName: "//sprite") as? SKSpriteNode {
       let numero:Int = sprite.userdata?.valueForKey("numero") as! Int
} else {
   print("I cannot find sprite..")
}

它从当前位置执行递归搜索。 检查API参考here