您的位置:首页 > 移动开发 > Cocos引擎

【Cocos2D-X 游戏引擎】初窥门径(6)粒子系统

2013-04-13 11:22 981 查看

第一种方法:自定义

//建立一个粒子系统
CCParticleSystem* pParticleSystem=new CCParticleSystemQuad();
//产生300个粒子
pParticleSystem->initWithTotalParticles(300);
//设置粒子图片
pParticleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("yezi.png"));
//设置粒子系统持续时间
pParticleSystem->setDuration(-1);
//设置重力方向
pParticleSystem->setGravity(CCPointZero);
//设置角度,角度变化率
pParticleSystem->setAngle(0);
pParticleSystem->setAngleVar(360);
//设置运动速度,运动速度的变化率
pParticleSystem->setSpeed(50);
pParticleSystem->setSpeedVar(10);
//设置径向加速度,径向加速度的变化率
pParticleSystem->setRadialAccel(70);
pParticleSystem->setRadialAccelVar(10);
//设置切向加速度,径向加速度的变化率
pParticleSystem->setTangentialAccel(80);
pParticleSystem->setTangentialAccelVar(0);
//设置粒子初始位置,位置变化率
pParticleSystem->setPosition(mSize.width/2,mSize.height/2);
pParticleSystem->setPosVar(ccp(100,100));
//设置粒子存在时间,时间变化率
pParticleSystem->setLife(2);
pParticleSystem->setLifeVar(0.3);
//设置粒子初始颜色,颜色变化率
ccColor4F cccStart={0.5,0.5,0.5,1.0};
pParticleSystem->setStartColor(cccStart);
pParticleSystem->setStartColorVar(cccStart);
//设置粒子结束颜色,颜色变化率
ccColor4F cccEnd={0.5,0.5,0.5,1.0};
pParticleSystem->setStartColor(cccEnd);
pParticleSystem->setStartColorVar(cccEnd);
//设置粒子初始大小,大小变化率
pParticleSystem->setStartSize(10);
pParticleSystem->setStartSizeVar(20);
//设置粒子结束大小,大小变化率
pParticleSystem->setStartSize(12);
pParticleSystem->setStartSizeVar(12);
//设置每秒产生粒子数
pParticleSystem->setEmissionRate(pParticleSystem->getTotalParticles()/pParticleSystem->getLife());

this->addChild(pParticleSystem,1);


效果图:



第二种方法:使用系统自带的

CCParticleSystem* m_emitter;
m_emitter = CCParticleFireworks::create();
m_emitter->retain();
this->addChild(m_emitter, 10);
m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("yezi.png") );
m_emitter->setPosition(ccp(300,320));


效果图:



其他:

-- CCParticleSystem(所有粒子系统的父类)
-- CCParticleSystemPoint、CCParticleSystemQuad 点粒子和方形粒子系统
-- CCParticleExplosion       (爆炸粒子效果)
-- CCParticleFireworks       (烟花粒子效果)
-- CCParticleFire               (火焰粒子效果)
-- CCParticleFlower           (花束粒子效果)
-- CCParticleGalaxy          (星系粒子效果)
-- CCParticleMeteor          (流星粒子效果)
-- CCParticleSpiral           (漩涡粒子效果)
-- CCParticleSnow            (雪粒子效果)
-- CCParticleSmoke          (烟粒子效果)
-- CCParticleSun              (太阳粒子效果)
-- CCParticleRain             (雨粒子效果)


第三种:使用plist文件

CCParticleSystemQuad *system = CCParticleSystemQuad::create("lizi.plist");
system->setPosition(ccp(mSize.width/2, mSize.height/2));
this->addChild(system, 1);


转载请注明出处:http://blog.csdn.net/Vestigge
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cocos2d-x