在 swift 中覆盖 func 更新问题
override func update problems, in swift
我目前正在使用以下代码来监控我的游戏状态:
override func update(currentTime: CFTimeInterval) {
// Game over query //
if car.physicsBody?.angularVelocity < 10 {carFly()}
else {gameOver()}
}
这似乎运作良好并且根本不会对 CPU 征税(这很令人高兴)。然而,函数 gameOver() 绝不会只被调用一次......它会调用多次,这会导致不稳定的转换/奇怪的行为。
如何构造它以便它只调用 gameOver() 一次?
您可以添加 Bool
标志来控制这种情况,例如:
...
var isGameOver: Bool = false
...
override func update(currentTime: CFTimeInterval) {
// Game over query //
if car.physicsBody?.angularVelocity < 10 {
carFly()
} else {
if isGameOver {
return
} else {
isGameOver = true
gameOver()
}
}
}
我目前正在使用以下代码来监控我的游戏状态:
override func update(currentTime: CFTimeInterval) {
// Game over query //
if car.physicsBody?.angularVelocity < 10 {carFly()}
else {gameOver()}
}
这似乎运作良好并且根本不会对 CPU 征税(这很令人高兴)。然而,函数 gameOver() 绝不会只被调用一次......它会调用多次,这会导致不稳定的转换/奇怪的行为。
如何构造它以便它只调用 gameOver() 一次?
您可以添加 Bool
标志来控制这种情况,例如:
...
var isGameOver: Bool = false
...
override func update(currentTime: CFTimeInterval) {
// Game over query //
if car.physicsBody?.angularVelocity < 10 {
carFly()
} else {
if isGameOver {
return
} else {
isGameOver = true
gameOver()
}
}
}