第一种方法:自定义
[cpp] view
plaincopy
- //建立一个粒子系统
- 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] view
plaincopy
- 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] view
plaincopy
- -- CCParticleSystem(所有粒子系统的父类)
- -- CCParticleSystemPoint、CCParticleSystemQuad 点粒子和方形粒子系统
- -- CCParticleExplosion (爆炸粒子效果)
- -- CCParticleFireworks (烟花粒子效果)
- -- CCParticleFire (火焰粒子效果)
- -- CCParticleFlower (花束粒子效果)
- -- CCParticleGalaxy (星系粒子效果)
- -- CCParticleMeteor (流星粒子效果)
- -- CCParticleSpiral (漩涡粒子效果)
- -- CCParticleSnow (雪粒子效果)
- -- CCParticleSmoke (烟粒子效果)
- -- CCParticleSun (太阳粒子效果)
- -- CCParticleRain (雨粒子效果)
第三种:使用plist文件
[cpp] view
plaincopy
- CCParticleSystemQuad *system = CCParticleSystemQuad::create("lizi.plist");
- system->setPosition(ccp(mSize.width/2, mSize.height/2));
- this->addChild(system, 1);
时间: 2024-11-06 07:57:44