按名称访问精灵节点

时间:2015-08-26 01:30:44

标签: ios objective-c sprite-kit

我目前正在使用SpriteKit中的Objective-C构建iOS游戏。

每个小行星在生成时都会获得一个标识符,使用以下代码:

[self.asteroid setName:[NSString stringWithFormat:@"asteroid-%i", self.asteroidCounter]];

现在,我希望能够根据父级的整数名从父级中删除特定的小行星。我尝试了这段代码,但它被视为错误:

[self.asteroid withName:[NSString stringWithFormat:@"asteroid-%i", self.asteroidCounter] removeFromParent];

有没有正确的方法来达到这个效果?

提前致谢!

PS:here is an image of the faulty code in Xcode, if it helps

2 个答案:

答案 0 :(得分:1)

如果您通过房产进行访问:

[[self.asteroid withName:[NSString stringWithFormat:@"asteroid-%i", self.asteroidCounter]] removeFromParent];

如果小行星是自己的孩子,你也可以说(这将是sprite-kit方式):

[[self childNodeWithName:[NSString stringWithFormat:@"asteroid-%i", self.asteroidCounter]] removeFromParent];

这假设您的属性asteroidCounter返回正确的值。

答案 1 :(得分:1)

你遗漏了一些括号:

[[self.asteroid withName:[NSString stringWithFormat:@"asteroid-%i", self.asteroidCounter]] removeFromParent];

相关问题