swift iOS - 当移动速度= 0 ...图像仍然产生时,我该如何阻止它?

时间:2015-07-25 00:24:11

标签: ios swift

我正在生成一个2D平台游戏,其中游戏的目标是跳过对象而不会导致碰撞。我没有编写代码所以一旦碰撞发生,所有风景都会停止,除了每秒产生一个物体。此生成对象在update(currentTime:CFTimeInterval)中添加。

有人知道如何在检测到碰撞时包含此对象以停止产生吗?

谢谢,

override func didMoveToView(view: SKView) {

moving.addChild(trees)
moving.addChild(crow)

moving.addChild(cat)     //working (hero)
moving.addChild(sprite)  //working background
moving.addChild(dummy)   //working ground
moving.addChild(sprite)  //working skyline

}

func addCrow() {

// lots of code here
moving.addChild(crow)    // not working, still spawning when game stops

}

    override func update(currentTime: CFTimeInterval) {


    if currentTime - self.lastCrowAdded > 1 {
        self.lastCrowAdded = currentTime + 1
        self.addCrow()               //wont allow me to change from self

    }
}

func didBeginContact(contact: SKPhysicsContact) {

    if( moving.speed > 0 ) {
            moving.speed = 0;

}

1 个答案:

答案 0 :(得分:1)

只需更改if中的条件,同时检查速度是否大于0.

这样的事情:

if currentTime - self.lastCrowAdded > 1 && moving.speed > 0