【发布时间】:2018-08-03 00:57:08
【问题描述】:
有没有办法只运行一次 SKemitter?当它与另一个节点碰撞时,我发生了爆炸。问题是爆炸发生了多次,因为它多次击中。我将如何只运行一次?
【问题讨论】:
标签: swift sknode skemitternode
有没有办法只运行一次 SKemitter?当它与另一个节点碰撞时,我发生了爆炸。问题是爆炸发生了多次,因为它多次击中。我将如何只运行一次?
【问题讨论】:
标签: swift sknode skemitternode
如果设置了该属性,则可以使 SKEmitterNode 在发出 numParticlesToEmit 后停止发出:https://developer.apple.com/documentation/spritekit/skemitternode/1398043-numparticlestoemit
我相信大多数“爆炸”类型的发射器应该已经设置了该属性。但是我怀疑你的问题是每次有命中时你都会添加一个新的 SKEmitterNode。
您可以使用布尔值var wasHit = false 来跟踪命中状态。
那么当命中发生时,在添加发射器之前检查wasHit,然后将wasHit设置为true。
【讨论】: