首页 > 解决方案 > 运行 SKemitter 一次?

问题描述

有没有办法只运行一次 SKemitter?当它与另一个节点碰撞时,我发生了爆炸。问题是爆炸发生了多次,因为它多次击中。我将如何只运行一次?

标签: swiftsknodeskemitternode

解决方案


numParticlesToEmit如果设置了该属性,则 可以使 SKEmitterNode 在发射后停止发射: https ://developer.apple.com/documentation/spritekit/skemitternode/1398043-numparticlestoemit

我相信大多数“爆炸”类型的发射器应该已经设置了该属性。但是我怀疑你的问题是每次有命中时你都会添加一个新的 SKEmitterNode 。

您可以使用布尔值var wasHit = false来跟踪命中状态。

然后当命中发生时,wasHit在添加发射器之前进行检查,然后设置wasHit为true。


推荐阅读