我在场景编辑器中设置了我的SKSpriteNode的userData:
然后我尝试使用:
来获取它let sprite:SKSpriteNode = self.childNode(withName: "sprite") as? SKSpriteNode
let numero:Int = sprite.userdata?.valueForKey("numero") as! Int
但是我的价值为零:"致命错误:在打开一个可选值&#34时出乎意料地发现了nil;
我还尝试使用:
初始化userDatasprite.userData? = NSMutableDictionary()
但结果相同......
答案 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。