Swift SpriteKit为游戏场景添加计时器
我看了很多文章,但没有一篇是有意义的,也没有一篇与我的问题相关。我想给用户一个设置的时间来按下一个节点。如果他们在设定时间内成功按下节点,计时器应重置,如果他们未能在设定时间内按下节点,游戏将结束Swift SpriteKit为游戏场景添加计时器,swift,timer,sprite-kit,sprite,Swift,Timer,Sprite Kit,Sprite,我看了很多文章,但没有一篇是有意义的,也没有一篇与我的问题相关。我想给用户一个设置的时间来按下一个节点。如果他们在设定时间内成功按下节点,计时器应重置,如果他们未能在设定时间内按下节点,游戏将结束 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { let touch = touches.first! if square.contains(touch.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first!
if square.contains(touch.location(in: self)) {
moveSquare()
GameScene.score+=1
scoreLabel.text = "\(GameScene.score)"
}
} else {
gameOverScene()
}
}
override func touchsbegind(touch:Set,带有事件:UIEvent?){
让我们先接触!
如果方形包含(触摸位置(in:self)){
moveSquare()
游戏场景。分数+=1
scoreLabel.text=“\(游戏场景.score)”
}
}否则{
配子更新世()
}
}
因此,我的问题是如何设置计时器以实现这些要求,以及将代码放在何处?使用SKActions而不是计时器:
let countdown = SKAction.sequence([SKAction.wait(forDuration: 5),
SKAction.perform(#selector(gameOver), onTarget: Self)])
run(countdown, withKey: "gameOverTimer")
(这假设如果没有及时按下正确的按钮,则要调用函数gameOver
)
在触摸开始
中,如果触摸了正确的节点:
removeAction(forKey: "gameOverTimer")
我认为这是正确的,但我是凭记忆写的。我将尝试测试它并更正任何错误。@选择器不再使用,它现在是#选择器