我使用SpriteKit(使用Objective-C)在XCode中创建了一个相当简单(此时为实验)的“游戏”.
我知道如何手动创建一个SKSpriteNode对象并将其添加到SKScene – 但我有点尝试相反 – 我在XCode SceneKit GUI本身内创建了一个精灵(并给它一个名字),现在我想在我的代码中检索它.
在之前使用XCode的经验中,您可以通过声明@property UIoUtlet [etc]然后将其作为IB / Storyboard UI中的引用插件连接来实现这一点 – 但我在SpriteKit UI中找不到任何类似的方法来做到这一点.
我可以创建一个属性(作为SKSpriteNode),并将其命名为与我的SpriteKit对象相同 – 它显示在SKScene下(在调试器中),但是为“nil” – 即不与对象“关联”在XCode SpriteKit UI中创建.
我错过了什么 – 或者做错了吗? :-O
解决方法
如果在Sprite Kit Editor中设置节点的name属性,则可以在
Swift中访问该节点
if let node = self.childNodeWithName("NodeName") as? SKSpriteNode { // Set up your sprite here }
要么
SKSpriteNode *node = (SKSpriteNode *)[self childNodeWithName:@"NodeName"];
在Obj-C.