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

第一种方法:自定义

	//建立一个粒子系统
	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);

效果图:

【Cocos2D-X 游戏引擎】初窥门径(6)粒子系统_第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));

效果图:

【Cocos2D-X 游戏引擎】初窥门径(6)粒子系统_第2张图片

其他:

	-- 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)