如何循环游戏



我正在创建一个游戏,我需要一组杆子从屏幕右侧移动到左侧。 一旦它到达左侧,我需要将极点重置到起点,然后在连续循环中再次运行。创建极点只是将两个极点的 x 位置设置为原始起始位置。杆子移动得很好,问题是循环方面。我不确定为什么下面的代码不起作用。我对 swift 很陌生,并承认我不太确定我在做什么。

  movePole()
    let create = SKAction.run {
        () in
        self.createPoles()
        self.movePole()
    }
    let delay = SKAction.wait(forDuration: 10)
    let spawn = SKAction.sequence([create,delay])
    self.run(SKAction.repeatForever(spawn))

以下是您需要执行的操作:

  1. 告诉杆子移动特定距离一段时间。
  2. 告诉杆子移回起点。
  3. 重复。

如下所示:

let AnimationTime = 5
let PoleTravelDistance = view.frame.width
let MovePolesToLeft = SKAction.move(by: CGVector(dx: PoleTravelDistance, dy: 0), duration: AnimationTime)
let ReturnPolesToRight = SKAction.move(to: CGPoint(x: (POLESNODE.frame.width)/2, y: (POLESNODE.position.y)), duration: 0)
let PoleAnimationSequence = SKAction.sequence([MovePolesToLeft, ReturnPolesToRight])
POLESNODE.run(SKAction.repeatForever(PoleAnimationSequence))

希望有帮助。

最新更新