cocos2d-x初探学习笔记(9)--粒子系统
2012-07-26 13:31
288 查看
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man
在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒组合而形成的。为了在游戏中实现这种效果,我们必须引进粒子系统,粒子系统中需要包括四个部分:粒子对象,运动规律,随机性,粒子状态。大量的粒子叠加就可以产生我们需要的特效。
在cocos2d-x引擎中,粒子系统使用CCParticleSystem来表示,又分为两大类,重力式粒子系统CCParticleSystemPoint和放射式粒子系统CCParticleSystemQuad,两者在功能上略有不同,CCParticleSystemQuad支持围绕轴线旋转,CCParticleSystemQuad支持更多粒子对象和缩放,重力式故名思义,系统中存在重力,重力大小可以自己定义,包括的参数有:重心,速度,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,角加速度,线加速度,半径,分组模式(是否随重心移动),放射性系统恰恰相反,不存在重力,包括的参数有:重心,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,绕重心为轴心旋转角度,半径,分组模式(是否随重心移动)。
过程分为以下几步
第一步 建立粒子系统
m_emitter = new CCParticleSystemQuad();
第二步 产生粒子对象
m_emitter->initWithTotalParticles(50);
第三步 设置参数
// radial半径
m_emitter->setRadialAccel(-120);
m_emitter->setRadialAccelVar(0);
第四步 设置到背景上
m_background->addChild(m_emitter, 10);
另外引擎还支持一些粒子编辑工具
另外引擎内还实现了一些自带粒子系统
CCParticleFire CCParticleFireworks CCParticleSun CCParticleGalaxy CCParticleFlower CCParticleMeteor CCParticleSpiral CCParticleExplosion CCParticleSmoke CCParticleSnow CCParticleRain
基本使用方法类似
m_emitter = CCParticleFire::node();
m_emitter->retain();
m_background->addChild(m_emitter, 10);
m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_fire) );//.pvr"];
CCPoint p = m_emitter->getPosition();
m_emitter->setPosition( CCPointMake(p.x, 100) );
在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒组合而形成的。为了在游戏中实现这种效果,我们必须引进粒子系统,粒子系统中需要包括四个部分:粒子对象,运动规律,随机性,粒子状态。大量的粒子叠加就可以产生我们需要的特效。
在cocos2d-x引擎中,粒子系统使用CCParticleSystem来表示,又分为两大类,重力式粒子系统CCParticleSystemPoint和放射式粒子系统CCParticleSystemQuad,两者在功能上略有不同,CCParticleSystemQuad支持围绕轴线旋转,CCParticleSystemQuad支持更多粒子对象和缩放,重力式故名思义,系统中存在重力,重力大小可以自己定义,包括的参数有:重心,速度,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,角加速度,线加速度,半径,分组模式(是否随重心移动),放射性系统恰恰相反,不存在重力,包括的参数有:重心,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,绕重心为轴心旋转角度,半径,分组模式(是否随重心移动)。
过程分为以下几步
第一步 建立粒子系统
m_emitter = new CCParticleSystemQuad();
第二步 产生粒子对象
m_emitter->initWithTotalParticles(50);
第三步 设置参数
// radial半径
m_emitter->setRadialAccel(-120);
m_emitter->setRadialAccelVar(0);
第四步 设置到背景上
m_background->addChild(m_emitter, 10);
另外引擎还支持一些粒子编辑工具
另外引擎内还实现了一些自带粒子系统
CCParticleFire CCParticleFireworks CCParticleSun CCParticleGalaxy CCParticleFlower CCParticleMeteor CCParticleSpiral CCParticleExplosion CCParticleSmoke CCParticleSnow CCParticleRain
基本使用方法类似
m_emitter = CCParticleFire::node();
m_emitter->retain();
m_background->addChild(m_emitter, 10);
m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_fire) );//.pvr"];
CCPoint p = m_emitter->getPosition();
m_emitter->setPosition( CCPointMake(p.x, 100) );
相关文章推荐
- cocos2d-x初探学习笔记(9)--粒子系统
- cocos2d-x初探学习笔记(9)--粒子系统
- Cocos2d-x 粒子系统之ParticleFire
- cocos2d粒子系统--粒子编辑器Parti…
- cocos2d-x 之粒子系统交互实现
- cocos2d-x开发中有关粒子系统的碰撞检测及可能性应用分析
- 【Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- Cocos2d-x入门粒子系统详细讲解
- 【Cocos2d入门教程十二】浅析Cocos2d下的粒子系统
- Cocos2d-x2.0 粒子系统深入分析三部曲(二)
- cocos2d-x初学笔记11:粒子系统Particle
- cocos2d-x初探学习笔记(23)--其他(屏幕旋转,schedule,系统语言)
- 【Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- Cocos2d-x 2.0 粒子系统深入分析三部曲(三)
- cocos2d粒子系统--粒子编辑器Particle designer属性的介绍 (转)
- cocos2d-x ios游戏开发初认识(九) 音效、粒子系统与存储
- cocos2d-x粒子系统
- Cocos2d-x 2.0 粒子系统深入分析三部曲(三)
- Cocos2d-JS内置粒子系统
- cocos2d-x自带粒子系统