我正在创建一个游戏,我需要一组极点才能从屏幕的右侧移动到左侧。一旦到达左侧,我就需要将两极重新设置到起点,然后连续不断地走下去。创建极点只需将两个极点的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))
答案 0 :(得分:0)
这是您需要做的:
如此处所示:
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))
希望有帮助。