当前位置:编程学习 > wap >>

[Cocos2D-X ]初窥门径(6)粒子系统

第一种方法:自定义
[cpp] 
//建立一个粒子系统  
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);  
 
效果图:
 
 
第二种方法:使用系统自带的
[cpp]  
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));  
 
效果图:
其他:
 
[cpp]  
-- CCParticleSystem(所有粒子系统的父类)  
-- CCParticleSystemPoint、CCParticleSystemQuad 点粒子和方形粒子系统  
   -- CCParticleExplosion       (爆炸粒子效果)  
   -- CCParticleFireworks       (烟花粒子效果)  
   -- CCParticleFire               (火焰粒子效果)  
   -- CCParticleFlower           (花束粒子效果)  
   -- CCParticleGalaxy          (星系粒子效果)  
   -- CCParticleMeteor          (流星粒子效果)  
   -- CCParticleSpiral           (漩涡粒子效果)  
   -- CCParticleSnow            (雪粒子效果)  
   -- CCParticleSmoke          (烟粒子效果)  
   -- CCParticleSun              (太阳粒子效果)  
   -- CCParticleRain             (雨粒子效果)  
 
 
第三种:使用plist文件
 
[cpp]  
CCParticleSystemQuad *system = CCParticleSystemQuad::create("lizi.plist");  
system->setPosition(ccp(mSize.width/2, mSize.height/2));   
this->addChild(system, 1);  
 
补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,