使用spritekit使精灵快速移动

时间:2018-12-25 00:17:31

标签: ios swift xcode8

一般来说,我对使用swift和Xcode还是很陌生的。我希望创建一个非常简单的游戏,并且试图弄清楚为什么我的球在触摸屏幕时只下降一次而不是上下两次

override func touchesBegan(_ touches:     Set<UITouch>, with event: UIEvent?) {
    let actionUp = SKAction.moveTo(y: 1330, duration: 0.5)
    let actionDown =    SKAction.moveTo(y: 50, duration: 0.5)
    ball?.run(actionUp)
    ball?.run(actionDown)
    ball?.run(actionUp)
    ball?.run(actionDown)

    }

1 个答案:

答案 0 :(得分:0)

仅在告知球向上移动之后,才可以执行任何操作,然后告诉球向下移动,然后再次向上移动,然后向下移动。仅看到最后一个动作moveDown,因为之后没有其他动作。

您需要SKAction.sequence,否则这四个动作将在上一个动作完成之前立即一个接一个地运行。

let sequenceOfActions = SKAction.sequence([moveUp, moveDown, moveUp, moveDown])
ball?.run(sequenceOfActions)