悬赏解决cocos2d-x不能使用pyro粒子系统的问题

pyor是一种很好的粒子系统,官方有提供OpenGL的接口
然后想移植到cocos2dx里面使用。
但是无论怎么也没弄好。希望有大神帮助!悬赏500大洋:6: ,码农不易
官网可以下载得到http://pyro.fenomen-games.com/

头文件定义几个对象

 float m_fTime;
 PyroParticles::IPyroFile *m_PyroFile;
 PyroParticles::CEmitterList *m_Emitters;

```


init方法添加
    m_fTime = 0;
    PyroParticles::PyroGraphics::IDevice *pPyroGraphicsDevice = new PyroParticles::CGraphics_OGL();    
    auto g_pParticleLibrary = CreateParticleLibrary(PYRO_SDK_VERSION);    
    g_pParticleLibrary->Init(pPyroGraphicsDevice);
    m_Emitters = new PyroParticles::CEmitterList();
    m_PyroFile = g_pParticleLibrary->LoadPyroFile("PyroDemo.pyro");    
    m_PyroFile->CreateTextures();
    const PyroParticles::IPyroParticleEmitter *pEmitter = m_PyroFile->GetFileEmitter(0);
    const char *pEmitterName = pEmitter->GetName();
    m_Emitters->Append(m_PyroFile, pEmitterName, m_fTime, 300, 300);


```


下面是update 和draw
void HelloWorld::update(float delta)
{
    float PrevTime = m_fTime;
    m_fTime += delta;
    float TimeDelta = m_fTime - PrevTime;

    float CurTime = PrevTime;

    while (TimeDelta > 0.0f)
    {
        float SafeTimeDelta = (TimeDelta >= 0.02f) ? 0.02f : TimeDelta;

        m_Emitters->Move(CurTime, SafeTimeDelta);
        m_Emitters->Prepare(CurTime, SafeTimeDelta);

        CurTime += SafeTimeDelta;
        TimeDelta -= SafeTimeDelta;
    }
}

void HelloWorld::draw(Renderer *renderer, const Mat4& transform, uint32_t flags)
{
    _customCommand.init(_globalZOrder);
    _customCommand.func = CC_CALLBACK_0(HelloWorld::onDraw, this, transform, flags);
    renderer->addCommand(&_customCommand);
}

void HelloWorld::onDraw(const Mat4 &transform, uint32_t flags)
{
    Director* director = Director::getInstance();
    director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
    director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, transform);
    
    m_Emitters->Render(m_fTime);
    m_Emitters->RemoveInactive(m_fTime, 0.1f);
}


```



运行后并没有得到预想的结果, 看到的只是在其他精灵(如helloworld)上有一闪一闪亮光。

请问楼主解决这个问题没有》?

没 有,好像没什么人用coco做PC端,基本找不到资料,自己也懒得去研究

又挖这个帖子出来,有知道有没有人知道

大虾何在:6:

用PU不好么。。。

看了下,好像不错,但不知道能不能整合到3.2版本

pu在2D环境下 会出现在最下层 请问您有办法解决吗