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

效果图:




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

	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



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值