Cocos2d-x内置粒子系统
内置粒子系统
内置的11粒子系统说明如下:
ParticleExplosion:爆炸粒子效果,属于半径模式。
ParticleFire:火焰粒子效果,属于重力径模式。
ParticleFireworks:烟花粒子效果,属于重力模式。
ParticleFlower:花粒子效果,属于重力模式。
ParticleGalaxy:星系粒子效果,属于半径模式。
ParticleMeteor:流星粒子效果,属于重力模式。
ParticleSpiral:漩涡粒子效果,属于半径模式。
ParticleSnow:雪粒子效果,属于重力模式。
ParticleSmoke:烟粒子效果,属于重力模式。
ParticleSun:太阳粒子效果,属于重力模式。
ParticleRain:雨粒子效果,属于重力模式。
这11种粒子系统每一个都有如下两个create函数,通过create函数可以创建粒子对象。
粒子系统
简介
粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。Cocos2d-x引擎中就为我们提供了强大的粒子系统,以下是粒子系统的继承关系图:
粒子属性
一个强大的粒子系统它必然具备了多种多样的属性,这样才能配置出多样的粒子。下面就来看看粒子系统的主要属性吧。
主要属性:
- _duration 发射器生存时间,即它可以发射粒子的时间,注意这个时间和粒子生存时间不同。单位秒,-1表示永远;粒子发射结束后可点击工具栏的播放按钮再次发射
- _emissionRate 每秒喷发的粒子数目
- _emitterMode 喷发器模式,有重力模式(GRAVITY)和半径模式(RADIUS,也叫放射模式)两种
- _totalParticles 场景中存在的最大粒子数目,往往与_emissionRate配合起来使用
- _isAutoRemoveOnFinish 粒子结束时是否自动删除
重力模式(modeA):
顾名思义,重力模式模拟重力,可让粒子围绕一个中心点移近或移远,它的优点是非常动态,而且移动有规则。下列各属性只在重力模式下起作用。
- gravity 重力X
- radiaAccel 粒子径向加速度,即平行于重力方向的加速度
- radiaAccelVar 粒子径向加速度变化范围
- speed 速度
- speedVar 速度变化范围
- tangentialAccel 粒子切向加速度,即垂直于重力方向的加速度
- tangentialAccelVar 粒子切向加速度变化范围
半径模式(modeB):
半径模式可以使粒子以圆圈方式旋转,它也可以创造螺旋效果让粒子急速前进或后退。下列各属性只在半径模式下起作用。
- endRadius 结束半径
- endRadiusVar 结束半径变化范围,即结束半径值的范围在 (endRadius - endRadiusVar) 和 (endRadius + endRadiusVar )之间,下面类似。
- rotatePerSecond 粒子每秒围绕起始点的旋转角度
- rotatePerSecondVar 粒子每秒围绕起始点的旋转角度变化范围
- startRadius 初始半径
- startRadiusVar 初始半径变化范围
生命属性:
- _life 粒子生命,即粒子的生存时间
- _lifeVar 粒子生命变化范围
大小属性:
- _endSize 粒子结束时的大小,-1表示和初始大小一致
- _endSizeVar 粒子结束大小的变化范围
- _startSize 粒子的初始大小
- _startSizeVar 粒子初始大小的变化范围
角度属性:
- _angle 粒子角度
- _angleVar 粒子角度变化范围
颜色属性:
- _endColor 粒子结束颜色
- _endColorVar 粒子结束颜色变化范围
- _startColor 粒子初始颜色
- _startColorVar 粒子初始颜色变化范围
如果你不想编辑出五颜六色的粒子效果,那应该把_endColorVar,_startColorVar尽量设置为(0, 0, 0, 0)。
位置属性:
- _positionType 粒子位置类型,有自由模式(FREE)、相对模式(RELATIVE)和打组模式(GROUPED)三种
- _posVar 发射器位置的变化范围(横向和纵向)
- _sourcePosition 发射器原始坐标位置
Free自由模式,相对于屏幕自由,不会随粒子节点移动而移动(可产生火焰、蒸汽等效果);Relative相对模式,相对于被绑定的Node静止,粒子发射器会随Node移动而移动,可用于制作移动角色身上的特效等等;Grouped打组模式是相对于发射点的,粒子随发射器移动而移动。
自旋属性:
- _endSpin 粒子结束自旋角度
- _endSpinVar 粒子结束自旋角度变化范围
- _startSpin 粒子开始自旋角度
- _startSpinVar 粒子开始自旋角度变化范围
纹理渲染属性:
- _texture 粒子贴图纹理
- _blendFunc 纹理的混合模式方法,有DISABLE、ALPHA_PREMULTIPLIED、ALPHA_NON_PREMULTIPLIED、ADDITIVE四种类型。
DISABLE = {GL_ONE, GL_ZERO};
ALPHA_PREMULTIPLIED = {GL_ONE, GL_ONE_MINUS_SRC_ALPHA};
ALPHA_NON_PREMULTIPLIED = {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA};
ADDITIVE = {GL_SRC_ALPHA, GL_ONE};
- GL_ZERO: 表示使用0.0作为因子,实际上相当于不使用这种颜色参与混合运算。
- GL_ONE: 表示使用1.0作为因子,实际上相当于完全的使用了这种颜色参与混合运算。
- GL_SRC_ALPHA:表示使用源颜色的alpha值来作为因子。
- GL_DST_ALPHA:表示使用目标颜色的alpha值来作为因子。
- GL_ONE_MINUS_SRC_ALPHA:表示用1.0减去源颜色的alpha值来作为因子。
- GL_ONE_MINUS_DST_ALPHA:表示用1.0减去目标颜色的alpha值来作为因子。
Cocos2dx使用OpenGL混合原理对图形进行渲染绘制。混合就是指把两种颜色混在一起,具体一点就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。它是一种常用的技巧,通常可以用来实现半透明,你也可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象。
转载于:https://www.cnblogs.com/slysky/p/3990595.html
Cocos2d-x内置粒子系统相关推荐
- 【HDRP高清渲染管道】创建HDRP工程,把内置管线工程升级为HDRP工程
目录 一.通过模板创建HDRP项目工程 1.创建模板示例工程 2.单击High Definition RP 3.命名并创建项目 4.研究并学习后续开发 二.通过HdrpCore模块创建HDRP项目工程 ...
- Unity内置着色器
https://www.wenjiangs.com/doc/3mfx2zti 内置着色器的特定用途 Standrad : 内置着色器 FX : 灯光和玻璃效果 GUI 和 UI : 用于用户界面图形 ...
- Python 常用内置函数map、zip、filter、reduce、enumerate
Python 中有许多非常实用的内置函数,通过这些函数我们可以方便的实现某些功能,下面就列举一些常用的内置函数. 1. map() 函数 map() 可以根据提供的函数对指定序列做映射,它接受一个函数 ...
- python内置库之学习configparser库(一)
python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...
- 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...
- python3 内置函数map 返回的迭代器转为列表
python3 内置函数map 返回的是迭代器,python2 返回的才是列表, 在python3中想要使用需要把迭代器在转换成列表 list_a = [1, 2, 3, 4, 5]def add(n ...
- 博客园在微信内置浏览器打开时添加微信赞赏码功能
我的博客开通了赞赏,看右侧悬浮[打赏],很容易弄,文末有链接. 另外,在微信中打开时,博客正文底部增加微信赞赏码,在微信内置浏览器打开时,长按图片识别,直接可以赞赏. 这本人自己摸索的,未参考任何博文 ...
- Python Day26:多态、封装、内置函数:__str__、__del__、反射(反省)、动态导入模块...
## 多态 ```python OOP中标准解释:多个不同类型对象,可以响应同一个方法,并产生不同结果,即为多态 多态好处:只要知道基类使用方法即可,不需要关心具体哪一个类的对象实现的,以不变应万变, ...
- python-字符串数据类型内置方法
字符串类型内置方法 (str) 用途:描述性质的东西,如人的名字.单个爱好.地址.国家等 定义:使用单引号(' ').双引号(" ").三单引号(''' ''').三双引号(&qu ...
最新文章
- 《预训练周刊》第35期:零样本规划器的语言模型:为智能体提取可操作的知识、LaMDA:对话应用的语言模型...
- memcache redis
- [Xcode 实际操作]六、媒体与动画-(3)使用CoreImage框架设置图片的单色效果
- 作为一个程序员,进步完全取决于自己
- 界面设计方法 (1) — 5. 表单功能的设计
- 曾经的8848,远离真实的代价
- 自学Android资料大放送
- 一个屌丝程序猿的人生(八十九)
- Kali-linux:nmap命令
- 大文件(10G以上吧)的处理
- 计算机报名jpg形式,急!什么叫“jpg格式电子照片”?
- lol服务器维修2019,lol服务器是不是炸了 2019年3月23出现预料之外的错误
- 前端入门视频笔记 CSS3(一) P61-92
- laravel 项目笔记之SendCloud 驱动
- 蚁群算法(Ant Colony Optimization)
- 微信支付宝H5收款码扫码转账个人通道仿原生接口带备注可回调成功率9成以上
- iceberg-flink 十:flink任务后台关闭,并查找savepoint。
- Android入门知识全套笔记
- tf.constant用法
- 基于Python的语音识别系统(孤立词)
热门文章
- 第一个程序---汇编学习笔记
- 逆元~(乘法逆元及其应用)
- gRPC客户端创建和调用原理解析
- 【David Silver强化学习公开课】-8:Integrating Learning and Planning
- centos6.x 安装elasticsearch6.x步骤
- 启动转换安装失败 拷贝windows安装文件时出错_男人的生产力工具:极速拷贝 效率神器 TeraCopy精品推荐...
- zookeeper安装_Linux下安装zookeeper
- python模拟手写笔迹_pytorch实现MNIST手写体识别
- 亲测可用centos7安装git_centos7安装git踩坑记
- 卷积核里面的参数怎么来的_FSNet:利用卷积核概要进行深度卷积神经网络的压缩...