清除 SKScene 以开始新游戏
Clearing a SKScene to start a new game
在我的游戏结束后,我有一个名为 play again 的按钮,但是当它 运行 时,它会抛出错误 Attemped to add a SKNode which already has a parent
。我的问题是我可以重置或解除分配 SKScene 以使其就像一个新的石板,就像应用程序从未 运行 一样吗?
您可以在您的 SKScene 中使用 [self removeAllChildren];
来删除所有子节点。
其他对象,如数组、字符串等...您将不得不一对一处理。
您可以在添加之前检查节点是否已经有父节点,方法是:
if(myNode.parent == nil)
[self addChild:myNode];
假设代码正在你的场景中执行我想你想要的是这个..
MyScene *newScene = [[MyScene alloc]initWithSize:self.size];
[self.view presentScene:newScene];
其中 MyScene 是 SKScene 的子类。
希望这就是您要找的。
在我的游戏结束后,我有一个名为 play again 的按钮,但是当它 运行 时,它会抛出错误 Attemped to add a SKNode which already has a parent
。我的问题是我可以重置或解除分配 SKScene 以使其就像一个新的石板,就像应用程序从未 运行 一样吗?
您可以在您的 SKScene 中使用 [self removeAllChildren];
来删除所有子节点。
其他对象,如数组、字符串等...您将不得不一对一处理。
您可以在添加之前检查节点是否已经有父节点,方法是:
if(myNode.parent == nil)
[self addChild:myNode];
假设代码正在你的场景中执行我想你想要的是这个..
MyScene *newScene = [[MyScene alloc]initWithSize:self.size];
[self.view presentScene:newScene];
其中 MyScene 是 SKScene 的子类。
希望这就是您要找的。