我的场景中有一个Sprite,这个精灵里面有一个粒子发射器。所以,当我移动精灵(使用MoveTo动作)时,我可以看到两者的动画动画,精灵和粒子发射器。 MoveTo动画不受旧粒子(在动画开始之前发射)的影响,我可以看到像彗星一样的尾巴。一切都好。现在,如果我将为精灵创建移动动作并将其移动,比方说,向上移动100个像素,然后向下发射100像素的动作,然后发射器将相对于精灵移动100个像素,但仍将相对于屏幕保持不变没有“彗尾”的效果。因此,这意味着发射的粒子不属于精灵,而是属于其他东西。
所以,我的问题是:如何在没有实际相对于屏幕移动的情况下移动“彗尾”效果?或者想象一下,我有一个带太阳发射器的层。在某些方面,我将决定移动这一层(滚动它),我的太阳发射器也将与该层一起滚动,但是旧发射的粒子将产生“彗星尾巴”效果,因为它们不属于该层,而是某种东西其他。如何在没有“彗尾效应”的情况下移动那个场景?
谢谢!
答案 0 :(得分:2)
好的,这里是cocos2d粒子引擎指定的位置类型:
如果您不希望粒子相对于世界移动,那么您需要RELATIVE或GROUPED。
如果你想让粒子形成痕迹,你需要免费。
emitter->setPositionType(_posType);
如果您认为我没有明白您的观点,请发布一些代码来说明问题 - 您的问题有点难以理解。