我正在使用Swift SpriteKit开发游戏。所有的事情都很顺利,但唯一让我惊慌失措的是检测Game Over。我的游戏看起来像下面的图片,它是一个自上而下的视图游戏。
Brown Color is Wood
和Blue Color(that one looks like water) is River
。如果玩家踩在河上而不是木头上,那么游戏就结束了。
问题是如何在河上探测到它。我尝试过使用SpriteKit Contact func didBeginContact
。但它只会在启动时调用,之后即使我踩到它也不再调用它。
答案 0 :(得分:1)
注意:如果玩家能够在没有互动的情况下掉入河中,这将无效。除此之外,它还提前一点调用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
}}
override func update(currentTime: NSTimeInterval) {
super.update(currentTime)
if wood.containsPoint(Player.position) {
} else {
// Call Game Over func
}}
更新:代码应该正常工作