我目前正在使用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
答案 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];