it教程网cocos2d-x入门粒子系统.pdf
在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒
组合而形成的。为了在游戏中实现这种效果,须引进粒子系统,粒子系统中需要包
括四个部分:粒子对象,规律,随机性,粒子状态。大量的粒子叠加就可以产生我们
需要的特效。
在cocos2d-x引擎中,粒子系统使用articleSystem来表示,又分为两大类,重力式
粒子系统articleSystemPoint和式粒子系统articleSystemQuad,两者在功能
上略有不同,articleSystemQuad支持围绕轴线旋转,articleSystemQuad支持
粒子对象和缩放,重力式故名思义,系统中存在重力,重力大小可以自己定义,包括
的参数有:重心,速度,方向,尺寸,存在时间,颜色,绕自己旋转角度,角加速
度,线加速度,半径,分组模式(是否随重心移动),性系统恰恰相反,不存在重
力,包括的参数有:重心,方向,尺寸,存在时间,颜色,绕自己旋转角度,绕重心
为旋转角度,半径,分组模式(是否随重心移动)。
过程分为以下几步
第一步建立粒子系统
m_emitter=newarticleSystemQuad();
第二步产生粒子对象
m_emitter-initWithTotalParticles(50);
第三步设置参数
//radial半径
m_emitter-setRadialAccel(-120);
m_emitter-setRadialAccelVar(0);
第四步设置到背景上
m_background-addChild(m_emitter,10);
另外引擎还支持一些粒子编辑工具
另外引擎内还实现了一些自带粒子系统
articleFirearticleFireworksarticleSunarticleGalaxyarticleFlower
articleMeteorarticleSpiralarticleExplosionarticleSmoke
articleSnowarticleRain
基本使用方法类似
m_emitter=articleFire::node();
m_emitter-retain();
m_background-addChild(m_emitter,10);
m_emitter-setTexture(CCTextureCache::sharedTextureCache()-addImage(s_fire));//.
pvr];
ointp=m_emitter-getPosition();
m_emitter-setPosition(ointMake(p.x,100));