gpt4 book ai didi

swift - 在不移除粒子的情况下重启 SKEmitterNode

转载 作者:可可西里 更新时间:2023-11-01 00:36:03 25 4
gpt4 key购买 nike

我为 Guzzle 照明弹设置了粒子效果。我目前使用的是低 numParticlesToEmit 以将发射器限制为短脉冲,并在我想开始新的粒子爆发时对发射器执行 resetSimulation()。

我遇到的问题是 resetSimulation() 会移除屏幕上的所有粒子,而且我经常需要在之前的粒子正常消失之前创建新的粒子爆发,以便它们及早被删除。

是否有一种干净的方式再次启动发射器而不删除屏幕上已经存在的粒子?

最佳答案

通常粒子系统有一个 SKEmitter 缺少的特性:持续时间。这控制系统发出多长时间。我在 SKEmitter 中看不到这个,尽管在 SCNParticleSystems

没关系,解决方法:

SKEmitter 有一个 numParticlesToEmit属性(property)和particleBirthRate .结合起来,这些决定了粒子系统在关闭前发射多长时间。

使用这些作为发射控制,可以创建以您想要的方式发射的粒子脉冲,例如 Guzzle 闪光或爆炸。

我不确定它是否会在达到此限制时自行删除。如果没有,您将不得不创建某种删除功能。因为获得所需效果(屏幕上有多个 Guzzle 闪光)的方法是 copy() SKEmitter。这是非常有效的,所以不用担心开销。

关于swift - 在不移除粒子的情况下重启 SKEmitterNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40982517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com