Cocos2d 粒子效果

第一种方法:自定义

[cpp]  view plain copy
  1. //建立一个粒子系统  
  2. CCParticleSystem* pParticleSystem=new CCParticleSystemQuad();  
  3. //产生300个粒子  
  4. pParticleSystem->initWithTotalParticles(300);  
  5. //设置粒子图片  
  6. pParticleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("yezi.png"));  
  7. //设置粒子系统持续时间  
  8. pParticleSystem->setDuration(-1);  
  9. //设置重力方向  
  10. pParticleSystem->setGravity(CCPointZero);  
  11. //设置角度,角度变化率  
  12. pParticleSystem->setAngle(0);  
  13. pParticleSystem->setAngleVar(360);  
  14. //设置运动速度,运动速度的变化率  
  15. pParticleSystem->setSpeed(50);  
  16. pParticleSystem->setSpeedVar(10);  
  17. //设置径向加速度,径向加速度的变化率  
  18. pParticleSystem->setRadialAccel(70);  
  19. pParticleSystem->setRadialAccelVar(10);  
  20. //设置切向加速度,径向加速度的变化率  
  21. pParticleSystem->setTangentialAccel(80);  
  22. pParticleSystem->setTangentialAccelVar(0);  
  23. //设置粒子初始位置,位置变化率  
  24. pParticleSystem->setPosition(mSize.width/2,mSize.height/2);  
  25. pParticleSystem->setPosVar(ccp(100,100));  
  26. //设置粒子存在时间,时间变化率  
  27. pParticleSystem->setLife(2);  
  28. pParticleSystem->setLifeVar(0.3);  
  29. //设置粒子初始颜色,颜色变化率  
  30. ccColor4F cccStart={0.5,0.5,0.5,1.0};  
  31. pParticleSystem->setStartColor(cccStart);  
  32. pParticleSystem->setStartColorVar(cccStart);  
  33. //设置粒子结束颜色,颜色变化率  
  34. ccColor4F cccEnd={0.5,0.5,0.5,1.0};  
  35. pParticleSystem->setStartColor(cccEnd);  
  36. pParticleSystem->setStartColorVar(cccEnd);  
  37. //设置粒子初始大小,大小变化率  
  38. pParticleSystem->setStartSize(10);  
  39. pParticleSystem->setStartSizeVar(20);  
  40. //设置粒子结束大小,大小变化率  
  41. pParticleSystem->setStartSize(12);  
  42. pParticleSystem->setStartSizeVar(12);  
  43. //设置每秒产生粒子数  
  44. pParticleSystem->setEmissionRate(pParticleSystem->getTotalParticles()/pParticleSystem->getLife());  
  45.   
  46. this->addChild(pParticleSystem,1);  

效果图:

Cocos2d 粒子效果_第1张图片



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

[cpp]  view plain copy
  1. CCParticleSystem* m_emitter;  
  2. m_emitter = CCParticleFireworks::create();  
  3. m_emitter->retain();  
  4. this->addChild(m_emitter, 10);  
  5. m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("yezi.png") );  
  6. m_emitter->setPosition(ccp(300,320));  

效果图:

Cocos2d 粒子效果_第2张图片

其他:

[cpp]  view plain copy
  1. -- CCParticleSystem(所有粒子系统的父类)  
  2. -- CCParticleSystemPoint、CCParticleSystemQuad 点粒子和方形粒子系统  
  3.    -- CCParticleExplosion       (爆炸粒子效果)  
  4.    -- CCParticleFireworks       (烟花粒子效果)  
  5.    -- CCParticleFire               (火焰粒子效果)  
  6.    -- CCParticleFlower           (花束粒子效果)  
  7.    -- CCParticleGalaxy          (星系粒子效果)  
  8.    -- CCParticleMeteor          (流星粒子效果)  
  9.    -- CCParticleSpiral           (漩涡粒子效果)  
  10.    -- CCParticleSnow            (雪粒子效果)  
  11.    -- CCParticleSmoke          (烟粒子效果)  
  12.    -- CCParticleSun              (太阳粒子效果)  
  13.    -- CCParticleRain             (雨粒子效果)  


第三种:使用plist文件

[cpp]  view plain copy
  1. CCParticleSystemQuad *system = CCParticleSystemQuad::create("lizi.plist");  
  2. system->setPosition(ccp(mSize.width/2, mSize.height/2));   
  3. this->addChild(system, 1);  

你可能感兴趣的:(cocos2d-x,plist)