【发布时间】:2019-04-24 14:59:47
【问题描述】:
我正在使用 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)
}
}
【问题讨论】:
-
是的,我试过了。基本上在这个块中,我删除了一个节点。但它会立即删除它我只想在节点超过 -7 时删除它我可以做 == -7 但这不是我想要的。
-
你的评论没有澄清太多
-
@GustavoVollbrecht 很抱歉。不认为这会对问题产生影响
-
贴更多相关代码
-
@GustavoVollbrecht 更新了上面的代码。简而言之,当球在 z 轴上的距离超过 -7 时,将其移除。或者就我而言,我将其淡出。