如何获取通过SpriteKit Editor创建的项目的SKSpriteNode?

时间:2014-11-05 18:17:50

标签: ios xcode sprite-kit

我使用SpriteKit(使用Objective-C)在XCode中创建了一个相当简单(此时为实验)的“游戏”。

我知道如何手动创建一个SKSpriteNode对象并将其添加到SKScene中 - 但我有点想要做相反的事情 - 我在XCode SceneKit GUI中创建了一个sprite(并给它起了一个名字),现在我想在我的代码中 retreive

在使用XCode的先前经验中,您可以通过声明@property UIOutlet [etc]然后将其作为IB / Storyboard UI中的引用插件连接来实现此目的 - 但我找不到任何类似的方法来执行此操作SpriteKit UI。

我可以创建一个属性(作为SKSpriteNode),并将其命名为与我的SpriteKit对象相同 - 它显示在SKScene下(在调试器中),但是为“nil” - 即不与“关联”我在XCode SpriteKit UI中创建的对象。

我错过了什么 - 或者做错了吗? :-O

1 个答案:

答案 0 :(得分:10)

如果在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。