gpt4 book ai didi

ios - SKEmitterNode 将粒子速度更改为已发射的粒子

转载 作者:行者123 更新时间:2023-12-01 16:43:52 25 4
gpt4 key购买 nike

是否可以改变已经发射的粒子的速度? SKEmitterNode 有一个particleSpeed 属性,但这仅适用于将来发射的粒子。

例如,假设我们正在构建一个宇宙飞船模拟器。想象一下在星空之上渲染的宇宙飞船。星空是通过粒子文件创建的,使用 SKEmitterNode 渲染。通过这个模拟的宇宙飞船永远不会改变位置。 SKEmitterNode 由在负 x 方向上以 10 的恒定速度移动的粒子组成。为了模拟宇宙飞船的加速,如果能够改变已经发射的粒子的速度,那就太好了。到目前为止,如果粒子的速度发生变化,已经发射的粒子的速度将比速度变化后正在发射的粒子慢。

一种解决方案是定义一个粒子系统,该系统在例如 100 x 100 的范围内以 0 速度和 0 加速度发射粒子。该粒子系统将使用较低的 zPosition 值渲染以保持在背景中。为了模拟飞船运动,SKEmitterNode 的 x 位置将相对于飞船的速度发生变化。更多的 SKEmitterNode 被添加到场景之外,然后随着旧的 SKEmitterNode 滚落并被移除,滚动到 View 中。

我已经测试了该解决方案并且它有效,但我很好奇是否有人有更优雅的解决方案。

最佳答案

您可能可以创建第二个 SKEmitterNode具有相同风格但速度更快。然后运行 ​​SKActionSKAction sequence 2之间的过渡。

关于ios - SKEmitterNode 将粒子速度更改为已发射的粒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839325/

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