如何在SpriteKit中自上而下查看Endless Runner游戏中检测游戏结束

时间:2015-08-15 07:32:58

标签: swift sprite-kit collision-detection game-physics

我正在使用Swift SpriteKit开发游戏。所有的事情都很顺利,但唯一让我惊慌失措的是检测Game Over。我的游戏看起来像下面的图片,它是一个自上而下的视图游戏。 enter image description here

Brown Color is WoodBlue Color(that one looks like water) is River。如果玩家踩在河上而不是木头上,那么游戏就结束了。

问题是如何在河上探测到它。我尝试过使用SpriteKit Contact func didBeginContact。但它只会在启动时调用,之后即使我踩到它也不再调用它。

1 个答案:

答案 0 :(得分:1)

我脑子里有两种可能的方法。

1。 在你的touchesBegan 中你这样做。

  

注意:如果玩家能够在没有互动的情况下掉入河中,这将无效。除此之外,它还提前一点调用Game Over。

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
    for touch in (touches as! Set<UITouch>) {
        let location = touch.locationInNode(self)

if wood.containsPoint(location) {
        } else {

    // Call Game Over func
    }}

2。 在您的更新功能(这应该始终有效)

override func update(currentTime: NSTimeInterval) {
    super.update(currentTime)

if wood.containsPoint(Player.position) {
} else {
// Call Game Over func

}}
  

更新:代码应该正常工作