Cocos2d-x中2.x和3.x的粒子系統的比較
阿新 • • 發佈:2019-01-22
/* // 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);