如何循环游戏

时间:2018-12-25 03:36:07

标签: swift sprite-kit

我正在创建一个游戏,我需要一组极点才能从屏幕的右侧移动到左侧。一旦到达左侧,我就需要将两极重新设置到起点,然后连续不断地走下去。创建极点只需将两个极点的x位置设置为原始起始位置。磁极移动就好了,问题是循环方面。我不确定为什么下面的代码不起作用。我很新,很快就承认我不太确定自己在做什么。

  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 个答案:

答案 0 :(得分:0)

这是您需要做的:

  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))

希望有帮助。