使用场景编辑器获取 SKSpriteNode 的 userData
get userData of SKSpriteNode using the scene editor
我在场景编辑器中设置了我的 SKSpriteNode 的用户数据:
然后我尝试获取它,使用:
let sprite:SKSpriteNode = self.childNode(withName: "sprite") as? SKSpriteNode
let numero:Int = sprite.userdata?.valueForKey("numero") as! Int
但我得到的是零值:"fatal error: unexpectedly found nil while unwrapping an Optional value"
我还尝试用以下方法初始化用户数据:
sprite.userData? = NSMutableDictionary()
但结果相同...
可能你的精灵也为零:
尝试使用可选绑定(如果允许)和 sprite 前的“//”搜索您的 sprite。
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.
我在场景编辑器中设置了我的 SKSpriteNode 的用户数据:
然后我尝试获取它,使用:
let sprite:SKSpriteNode = self.childNode(withName: "sprite") as? SKSpriteNode
let numero:Int = sprite.userdata?.valueForKey("numero") as! Int
但我得到的是零值:"fatal error: unexpectedly found nil while unwrapping an Optional value"
我还尝试用以下方法初始化用户数据:
sprite.userData? = NSMutableDictionary()
但结果相同...
可能你的精灵也为零:
尝试使用可选绑定(如果允许)和 sprite 前的“//”搜索您的 sprite。
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.