cocos2d-x初探学习笔记(9)--粒子系统
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒组合而形成的。为了在游戏中实现这种效果,我们必须引进粒子系统,粒子系统中需要包括四个部分:粒子对象,运动规律,随机性,粒子状态。大量的粒子叠加就可以产生我们需要的特效。 在cocos2d-x引擎中,粒子系统使用CCParticleSystem来表示,又分为两大类,重力式粒子系统CCParticleSystemPoint和放射式粒子系统CCParticleSystemQuad,两者在功能上略有不同,CCParticleSystemQuad支持围绕轴线旋转,CCParticleSystemQuad支持更多粒子对象和缩放,重力式故名思义,系统中存在重力,重力大小可以自己定义,包括的参数有:重心,速度,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,角加速度,线加速度,半径,分组模式(是否随重心移动),放射性系统恰恰相反,不存在重力,包括的参数有:重心,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,绕重心为轴心旋转角度,半径,分组模式(是否随重心移动)。 过程分为以下几步 第一步建立粒子系统 m_emitter=newCCParticleSystemQuad(); 第二步产生粒子对象 m_emitter->initWithTotalParticles(50); 第三步设置参数 //radial半径 m_emitter->setRadialAccel(-120); m_emitter->setRadialAccelVar(0); 第四步设置到背景上 m_background->addChild(m_emitter,10); 另外引擎还支持一些粒子编辑工具 另外引擎内还实现了一些自带粒子系统 CCParticleFireCCParticleFireworksCCParticleSunCCParticleGalaxyCCParticleFlowerCCParticleMeteorCCParticleSpiralCCParticleExplosionCCParticleSmokeCCParticleSnowCCParticleRain 基本使用方法类似 m_emitter=CCParticleFire::node(); m_emitter->retain(); m_emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage(s_fire));//.pvr"]; CCPointp=m_emitter->getPosition(); m_emitter->setPosition(CCPointMake(p.x,100)); 刚开始研究此引擎,如有错误之处,希望大家多多指正 下一篇写一下test类里面的其他场景 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- swift down cast
- ruby-on-rails – Rails routes.rb语法
- c# – Unity的Objective C iOS插件
- 在重构脚手架中掌握React/Redux/Webpack2基本套路
- 本文简述了Ajax技术适用场景、Ajax不适用场景的具体情况以及
- The Swift Code之设置UIButton的不同方式创建,以及不同的状
- oracle split函数实现,按顺序获取,两个字符直接的空值也能
- C/C++ ip地址与int类型的转换实例详解
- ruby-on-rails – Rails3 / Sessions / Active_Record_Stor
- Flex调用Hessian服务时错误#1014与#1065的处理