Cocos2d粒子系统不跟随移动和旋转的摄像机

Cocos2d particle system dont follow moving and rotating camera

本文关键字:旋转 摄像机 移动 粒子系统 不跟随 Cocos2d      更新时间:2023-10-16

我想在一个精灵被另一个精灵击中时创建一个火焰粒子系统:

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

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

我尝试了不同的位置类型,Follow action, setSourcePosition方法,但问题没有解决。

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

我解决了这个问题。

我使用了两个相机,一个用于HUD (CameraFlag::DEFAULT),另一个用于场景(CameraFlag::USER1)。我忘了为粒子系统设置相机标志:
ps->setCameraMask(cocos2d::CameraFlag::USER1);

和粒子系统显示默认相机