没有实际移动的粒子发射器的移动(彗尾)效果

时间:2014-10-10 06:10:16

标签: animation cocos2d-x particles

我的场景中有一个Sprite,这个精灵里面有一个粒子发射器。所以,当我移动精灵(使用MoveTo动作)时,我可以看到两者的动画动画,精灵和粒子发射器。 MoveTo动画不受旧粒子(在动画开始之前发射)的影响,我可以看到像彗星一样的尾巴。一切都好。现在,如果我将为精灵创建移动动作并将其移动,比方说,向上移动100个像素,然后向下发射100像素的动作,然后发射器将相对于精灵移动100个像素,但仍将相对于屏幕保持不变没有“彗尾”的效果。因此,这意味着发射的粒子不属于精灵,而是属于其他东西。

所以,我的问题是:如何在没有实际相对于屏幕移动的情况下移动“彗尾”效果?或者想象一下,我有一个带太阳发射器的层。在某些方面,我将决定移动这一层(滚动它),我的太阳发射器也将与该层一起滚动,但是旧发射的粒子将产生“彗星尾巴”效果,因为它们不属于该层,而是某种东西其他。如何在没有“彗尾效应”的情况下移动那个场景?

谢谢!

1 个答案:

答案 0 :(得分:2)

好的,这里是cocos2d粒子引擎指定的位置类型:

  • FREE
    活体颗粒附着在世界上,不受发射体重新定位的影响。
  • RELATIVE
    活粒子附着在世界上,但会跟随发射器重新定位。 使用案例:将发射器附加到精灵,并且您希望发射器跟随精灵。
  • GROUPED
    活粒子附着在发射器上并与其一起平移。

如果您不希望粒子相对于世界移动,那么您需要RELATIVE或GROUPED。

如果你想让粒子形成痕迹,你需要免费。

emitter->setPositionType(_posType);

如果您认为我没有明白您的观点,请发布一些代码来说明问题 - 您的问题有点难以理解。