清除SKScene以开始新游戏

时间:2015-03-22 18:55:14

标签: ios sprite-kit

在我的游戏结束后,我有一个名为play的按钮,但是当它运行时,它会抛出错误并显示Attemped to add a SKNode which already has a parent。我的问题是我可以重置或取消分配SKScene,以便它像一个新的平板,就像应用程序从未运行?

2 个答案:

答案 0 :(得分:2)

假设代码正在你的场景中执行,我想你想要的就是这个..

MyScene *newScene = [[MyScene alloc]initWithSize:self.size];
[self.view presentScene:newScene];

MyScene是SKScene的子类。

希望这就是你要找的东西。

答案 1 :(得分:1)

您可以在SKScene中使用[self removeAllChildren];删除所有子节点。

其他对象,如数组,字符串等......您必须以一对一的方式处理。

通过执行此操作,您可以在添加之前检查节点是否已有父节点:

if(myNode.parent == nil)
    [self addChild:myNode];