我正在学习 SceneKit,并且有以下代码在我的球撞到墙上时播放声音。
if contactNode.physicsBody?.categoryBitMask == CategoryWall {
let hitSound = sounds["bump"]!
ballNode.runAction(SCNAction.playAudio(hitSound, waitForCompletion: true))
}
这行得通,但是我只希望在球最初撞到墙上时播放声音,目前它正在沿着墙壁滚动,这会导致声音尝试重复并因此导致问题。
我尝试将 waitForCompletion 更改为 false 或 true,这没有帮助。
是否可以设置方法或属性来检查初始联系,然后在联系中断后重置?
提前致谢。
凯夫