addChild在SpriteKit中不起作用

时间:2015-06-23 09:58:46

标签: ios swift sprite-kit

我正在开发类似于:https://itunes.apple.com/us/app/impossible-rush-hd/id964396464?mt=8

的游戏

创建具有不同颜色的球对象阵列(Ball:SKNode)。每当球触及方向盘,我就会使用以下方法移除球:

ball.removeFromParent() 

这工作正常,但之后我从数组中选择另一个随机球来显示并添加到场景中它不起作用。节点计数显示1,即Wheel节点。

我最初调用此函数并且它正常工作但下次从didBeginContact方法调用时不起作用。

func sendBall(){
     var randomIndex = Int(arc4random_uniform(UInt32(self.ballsArray.count)))
     ball = self.ballsArray[randomIndex]
     addChild(ball) //This statement has no effect when its called second time.
}

我被困在这里。有人可以帮帮我吗。

1 个答案:

答案 0 :(得分:1)

  

但是从didBeginContact调用时,下次没有工作   方法

我们无法在didBeginContact中添加子项, 从didSimulatePhysics方法做到这一点

在didBeginContact()和didSimulatePhysics()中设置一个标志,检查标志并调用sendBall()并重置标志:)