小满(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) );

刚开始研究此引擎,如有错误之处,希望大家多多指正

下一篇写一下test类里面的其他场景

cocos2d-x初探学习笔记(9)--粒子系统相关推荐

  1. cocos2d-x初探学习笔记(2)--重要概念及Test例子结构

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 1.几个重要概念 在cocos2d引擎中,有几 ...

  2. cocos2d-x初探学习笔记(1)--HelloWorld

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 首先,简要介绍一下cocos2d-x,coco ...

  3. cocos2d-x初探学习笔记(1)--HelloWorld .

    首先,简要介绍一下cocos2d-x,cocos2d-x是cocos2d引擎的c++移植版,其跨平台的特性使其很受欢迎 在cocos2d-x的网站上即可下到cocos2d-x的最新版本,下载后用vs即 ...

  4. cocos2d-x初探学习笔记(29)-cocosBuilder

    cocosBuilder编辑器正是作为可视化编辑的补充,成为cocos2D-iphone和cocos2D-x的可视化编辑器,cocos2D-x从2.0版本开始支持cocosBuilder,同样coco ...

  5. cocos2d-x初探学习笔记(20)--物理引擎box2d(2)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 由于box2d的内容比较多,它也有自己的tes ...

  6. cocos2d-x初探学习笔记(13)--内存回收机制

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 之前提到过cocos2d-x的内存回收机制,但 ...

  7. cocos2d-x初探学习笔记(7)--CCProgressTimer

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 在cocos2d中同样提供了很多表现图片和精灵 ...

  8. cocos2d-x初探学习笔记(3)--动作(CCAction)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 1.内存自动回收 Cocos2d-x提供了一种 ...

  9. cocos2d-x初探学习笔记(21)--精灵类

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 在游戏中还有一个比较重要的元素,那就是精灵类, ...

最新文章

  1. 超美观的 Vue+Element 开源后台管理 UI
  2. SpringMVC拦截器与异常处理
  3. video.min.js php,使用flv.js与video.js做一个视频直播效果
  4. 【VBA研究】查找目录以下全部文件的名称
  5. ASP.NET 2.0 – 善用DataSourceMode属性
  6. 测试用例的常用设计方法
  7. ios c语言头文件,iOS开发 -- C语言基础12(预处理指令)
  8. 人生的84000种可能
  9. DiskFileItemFactory API详解
  10. 阿米洛无法打开蓝牙模式_企业为什么要学习阿米巴模式?
  11. C++类的构造函数 后单冒号加基类 例如:CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
  12. 程序员修神之路--问世间异步为何物?
  13. 大话设计模式之设计模式遵循的七大原则
  14. python制作查询网页_peewee数据查询之分页返回——python学习笔记
  15. Linux学习笔记之系统路径和命令
  16. Flask模板参数传值的方法
  17. php min命令,php min函数怎么用 - min
  18. Spring MVC登录实例
  19. les有学计算机的吗,赵欢喜
  20. 会计需要哪方面的计算机知识,学会计需要哪些知识

热门文章

  1. 字节输出流写入数据到文件
  2. 登录案例_BeanUtils基本使用
  3. sql查询成绩最高分_sql查询各科成绩前三名----详述过程,思路清晰不烧脑!
  4. 【小题目】判断一个数字是否是3的倍数
  5. 关于提高代码复用性的几个知识点的回顾
  6. Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月1日-1月6日)
  7. 《大数据分析原理与实践》一一第3章 关联分析模型
  8. centos7 更新yum安装源
  9. 增加myEclipse的非堆内存
  10. 批量调整word表格根据窗口调整内容