我正在开发一款游戏,如果两个相同的物体之间发生碰撞,就会播放声音。我已经让这部分工作正常,但我只想在 View 中发生碰撞时播放声音。我有一个滚动背景,前方的碰撞会发出噪音。
是否有办法限制此声音仅在视野中发生碰撞时播放?
现在我正在使用这段代码:
let rocksCollide = SKAction.playSoundFileNamed("rocks.wav", waitForCompletion: false)
if nodeB.name == "SMALLASTEROID" && nodeA.name == "SMALLASTEROID"{
runAction(rocksCollide)
}
如有任何帮助,我们将不胜感激。
最佳答案
您可以检查node.position
是否在可见框架内。例如。
if (CGRectContainsPoint(visibleFrame, nodeA.position)) {
// Play sound.
}
关于ios - 仅当发生碰撞时才运行 skaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741273/