Cocos2d粒子系统不跟随移动和旋转相机

时间:2015-07-30 11:51:42

标签: c++ cocos2d-x cocos2d-x-3.0

我想在sprite上用另一个sprite命中时创建一个火焰粒子系统:

void MySprite::hit()
{
    auto ps = cocos2d::ParticleFire::create();
    ps->setPositionType(cocos2d::ParticleSystem::PositionType::RELATIVE);
    this->addChild(ps);
}

我使用' setPosition3D'并且' lookAt'在场景中移动相机的方法。 当我移动相机时,粒子系统卡在屏幕上(并且在窗口中始终有一个固定的位置)并且不遵循父精灵!

我尝试了不同的位置类型,关注动作,setSourcePosition方法,但问题没有解决。

我在Visual Studio 2013中使用cocos2d-x v3.3和C ++。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

我使用了两个摄像头,一个用于HUD(CameraFlag :: DEFAULT),另一个用于场景(CameraFlag :: USER1)。我忘了为粒子系统设置相机标志:

ps->setCameraMask(cocos2d::CameraFlag::USER1);

和默认摄像头显示的粒子系统。