Swift Sprite Kit:访问用户数据返回nil

时间:2016-03-04 05:38:51

标签: swift sprite-kit

我正在尝试使用UserData为我的SKSpriteNodes“monster”添加健康等特性:

monster.userData?.setObject(100, forKey: "hp")

当程序检测到射击怪物时,它需要能够访问我之前设置的数字并进行更改。但是,此刻,当我尝试打印键的对象时,它总是返回nil。

print(monster.userData?.objectForKey("hp")

顺便说一句,如果有任何帮助,我在一个名为addMonster()的函数中设置键的对象,我试图在另一个名为ProjectileDidCollideWithMonster()的函数中检索该对象,该函数在两个对象时执行碰撞。两个对象都作为参数传递给函数。

非常感谢你。斯坦利

1 个答案:

答案 0 :(得分:1)

您可能忘记首先初始化用户数据字典。在设置任何用户数据之前添加此行:

monster.userData = NSMutableDictionary()
相关问题