在父母之间切换 - SpriteKit

时间:2017-04-27 20:32:16

标签: swift sprite-kit

在我的游戏中,我有两个叫做“中心”旋转的SKNodes。 我有几个对象作为Center(The SKNode)的孩子。我做到了这一点,所以我可以让这些物体围绕中心运行。虽然在某些时候我想切换到其他SKNodes - “Center2”。在这里我命名了一个对象“Onject”,它在父母之间切换,我需要在游戏中的某些点附加和分离。我做过self.addChild(Object)然后做了Center.addChild(Object)。我的游戏崩溃了。如何在父项之间切换对象。

先谢谢。

2 个答案:

答案 0 :(得分:4)

如果您拨打self.addChild(Object)然后Center.addChild(Object),您的游戏将会崩溃,因为该对象将有两个父母。对于不同的节点,您不能将该对象作为子项添加两次。

如果要切换父项,则必须先从父项中删除它,因此流程如下:

  • self.addChild(Object)(然后只是执行你的游戏逻辑)

一旦切换父级,请按照以下步骤操作:

  • Object.removeFromParent()
  • Center.addChild(Object)

然后你的对象有一个新的父对象

答案 1 :(得分:2)

有一个名为move(toParent:SKNode)的方法可以完全按照您的需要进行操作,它也可以为您修复坐标。