1. 程式人生 > >Cocos2d-x中2.x和3.x的粒子系統的比較

Cocos2d-x中2.x和3.x的粒子系統的比較

/*
    // Cocos2d-x-2.x
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    ParticleSystemQuad* m_emitter = ParticleSystemQuad::createWithTotalParticles(900);
    m_emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png"));
*/
    // Cocos2d-x-3.x
    auto size =
Director::getInstance()->getWinSize(); auto m_emitter = ParticleSystemQuad::createWithTotalParticles(900); m_emitter->setTexture(Director::getInstance()->getTextureCache()->addImage("fire.png")); //The code below we can use both in 2.x and 3.x m_emitter->setDuration(-1);
m_emitter->setGravity(Point(0, -240)); // in Cocos2d-x-2.x CCPoint(0, -240) is used m_emitter->setAngle(90); m_emitter->setAngleVar(360); m_emitter->setRadialAccel(50); m_emitter->setRadialAccelVar(0); m_emitter->setTangentialAccel(30); m_emitter->setTangentialAccelVar
(0); m_emitter->setPosition(Point(size.width / 2, size.height)); m_emitter->setPosVar(Point(400, 0)); m_emitter->setLife(4); m_emitter->setLifeVar(2); m_emitter->setStartSpin(30); m_emitter->setStartSpinVar(60); m_emitter->setEndSpin(60); m_emitter->setEndSpinVar(60); m_emitter->setStartColor(Color4F(255,255,255,1)); m_emitter->setStartColorVar(Color4F(0,0,0,0)); m_emitter->setEndColor(Color4F(255, 255, 255, 1)); m_emitter->setEndColorVar(Color4F(0, 0, 0, 0)); m_emitter->setStartSize(30); m_emitter->setStartSizeVar(0); m_emitter->setEndSize(20.0f); m_emitter->setEndSizeVar(0); m_emitter->setEmissionRate(100); addChild(m_emitter,10);