我使用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
答案 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。