Я изучаю некоторые игровые разработки со Swift, и поэтому я хочу знать, когда узел находится дальше по оси Z.Мой расчет:
if zPositionOfBowlingBall > -7 {
// Do something here
}
Так что, если позиция больше -7, то, например, -8, выполнить блок кода.Это никогда не вызывается.Я предполагаю, что так работает подписанный int.Если бы кто-то мог объяснить это, было бы действительно полезно понять и каков будет правильный синтаксис.
ОБНОВИТЬ полный код здесь
extension ViewController: ARSCNViewDelegate {
func renderer(_ renderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: TimeInterval) {
bowlingBall.removeBowlingBallWhenZPositionIsReached()
}
}
func removeBowlingBallWhenZPositionIsReached() {
guard let bowlingBallNode = bowlingBallNode else {return}
let bowlingBallPosition = bowlingBallNode.presentation.worldPosition
let zPositionOfBowlingBall = Int(bowlingBallPosition.z)
if zPositionOfBowlingBall > -7 {
performFadeOutOnBowlingBallWith(duration: 2.0)
}
}