精灵套件中火箭的烟雾效果

时间:2014-08-14 02:19:01

标签: ios cocoa-touch sprite-kit

我正在设计一款游戏,在我的游戏中,火箭推出。我已经创建了一个发射器,将其配置好,当我的火箭发射时,它将发射器添加到火箭中。问题是,火箭移动速度非常快,看起来粒子跟随火箭的运动 - 我的意思是,不是火箭在它后面留下烟雾的“痕迹”,“烟雾”看起来是一样的好像火箭没有移动,我想因为它是火箭的孩子。

我认为唯一的解决方法是: - 创建一个ivar或属性来保持火箭的当前位置并更新每一帧 - 当火箭发射时,将发射器的子项添加到场景中,而不是火箭 - 将它放在火箭位置 - 更新,按照火箭

然而,这似乎在计算上非常昂贵,要检查火箭是否存在,如果确实存在它的位置,为此位置创建一个新的CGPoint,并在每一帧上将发射器位置设置为这个新点。此外,它在屏幕上同时拥有多个火箭的选项很少。

还有其他更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您需要将发射器的targetNode属性设置为您希望烟雾持续的SKNodeSKScene。该属性设置发射器粒子将成为子节点的节点,当火箭移动时,发射的粒子保持在同一位置。

注意:发射器本身应该仍然是火箭的孩子。

SKEmitterNode.targetNode docs