我正在设计一款游戏,在我的游戏中,火箭推出。我已经创建了一个发射器,将其配置好,当我的火箭发射时,它将发射器添加到火箭中。问题是,火箭移动速度非常快,看起来粒子跟随火箭的运动 - 我的意思是,不是火箭在它后面留下烟雾的“痕迹”,“烟雾”看起来是一样的好像火箭没有移动,我想因为它是火箭的孩子。
我认为唯一的解决方法是: - 创建一个ivar或属性来保持火箭的当前位置并更新每一帧 - 当火箭发射时,将发射器的子项添加到场景中,而不是火箭 - 将它放在火箭位置 - 更新,按照火箭
然而,这似乎在计算上非常昂贵,要检查火箭是否存在,如果确实存在它的位置,为此位置创建一个新的CGPoint,并在每一帧上将发射器位置设置为这个新点。此外,它在屏幕上同时拥有多个火箭的选项很少。
还有其他更优雅的解决方案吗?
答案 0 :(得分:1)
您需要将发射器的targetNode
属性设置为您希望烟雾持续的SKNode
或SKScene
。该属性设置发射器粒子将成为子节点的节点,当火箭移动时,发射的粒子保持在同一位置。
注意:发射器本身应该仍然是火箭的孩子。