如何知道SKAction.repeat(action,count)何时完成

时间:2019-04-15 09:09:57

标签: swift sprite-kit

我正在使用Swift&SpriteKit制作视频游戏。我正在尝试制作游戏的关卡系统。每个级别都有自己的规范(但现在不在代码中)。

但是,当我完成SKaction.repeat之后,我希望移动到另一个场景(例如“ Level Complete”场景)。

你知道我该怎么办吗?

这是我的代码:

func parametersLevel(){
    let spawn = SKAction.run(asteroids)
    let waitSpawn = SKAction.wait(forDuration: 0.8)
    let sequence = SKAction.sequence([waitSpawn,spawn])
    let spawnCount = SKAction.repeat(sequence, count: 750)
    self.run(spawnCount)
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

run(_:completion:)而不是self.run(spawnCount)尝试:

self.run(spawnCount, completion: {() -> Void in
   println("completed")
})

答案 1 :(得分:1)

如果您需要按键来执行操作,也可以执行以下操作:

func parametersLevel(){
    let spawn = SKAction.run(asteroids)
    let waitSpawn = SKAction.wait(forDuration: 0.8)
    let sequence1 = SKAction.sequence([waitSpawn,spawn])
    let spawnCount = SKAction.repeat(sequence, count: 750)
    let endAction = SKAction.run{} //whatever you need your ending to be
    let sequence2 = SKAction.sequence([spawnCount ,endAction])
    self.run(sequence2,withKey:”spawn” )
}