1.介绍

粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术。而这些现象用其他传统的渲染技术难以实现的真实感的 game physics。常常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发轨迹这种抽象视觉效果等等。

2.粒子系统结构

OGE引擎的粒子系统中由粒子、粒子发射器、粒子初始化器、粒子改动器来表现粒子效果。

粒子系统:是Entity的子类,管理粒子发射器,发射比率,粒子孵化。管理粒子改动器等的一个系统

粒子发射器:继承IUpdateHandler,在固定范围随机生成发射坐标

粒子初始化器:初始化Entity部分參数。如:alpha值

粒子改动器:粒子初始化器子类,相同改动Entity部分參数,可是会在粒子系统的onManagedUpdate中进行更新,类似于Entity中注冊Modifier的效果

粒子:对一个Entity进行封装,包括一些粒子的属性

3.实例代码:

public void setMyParticle(float pX, float pY, TextureRegion region, Scene pScene) {

PointParticleEmitter particleEmitter = new PointParticleEmitter(pX, pY);

SpriteParticleSystem mParticleSystem = new SpriteParticleSystem(particleEmitter, 10, 10, 30, region, pScene.getVertexBufferObjectManager());

mParticleSystem.addParticleInitializer(new VelocityParticleInitializer<Sprite>(-150, 150, -380, 0));

mParticleSystem.addParticleInitializer(new ExpireParticleInitializer<Sprite>(5f, 6f));

mParticleSystem.addParticleModifier(new ScaleParticleModifier<Sprite>(0f, 5f, 0, 1.3f));

mParticleSystem.addParticleModifier(new AlphaParticleModifier<Sprite>(0.8f, 1, 0.2f, 1f));

pScene.attachChild(mParticleSystem);

}

【v2.x OGE教程 20】粒子效果的更多相关文章

  1. cocos基础教程(8)粒子效果

    简介 粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象.物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸.烟花.水流)提供了方便. 粒子属性 一 ...

  2. 【v2.x OGE教程 16】 Modifier使用相关

    OGE引擎的改动器功能非常强大,为我们提供了丰富的改动器的实现类,能够改动实体的属性.提供了移动.旋转.缩放.透明.自己定义序列.同步.循环等功能,并且改变的效果能够当场生效.也能够在某一个时间段内生 ...

  3. 【v2.x OGE教程 19】 引擎状态控制

    1.手机button监听 OGE中提供了在BaseGameLauncher(GameLauncher的父类)和IScene(Scene实现的接口)中定义了onKeyUp和onKeyDown的方法.使得 ...

  4. 【v2.x OGE教程 11】 动画编辑器帮助文档

    ] 动画编辑器帮助文档 版本号 日期 作者 说明 1.0 2014-9-3 橙子游戏 文档创建       一.简单介绍 动画编辑器用于游戏动画的可视化编辑,支持序列帧动画和关键帧动画.通过解析生成的 ...

  5. 【v2.x OGE教程 17】事务处理

    游戏代码中常常有些逻辑须要处理.因此OGE引擎加入了一个IUpdateHandler的类. IUpdateHandler类是OGE引擎中使用频率很之高的组件之中的一个,其本身是一个接口.内部有onUp ...

  6. 【v2.x OGE教程 12】 关卡编辑器帮助文档

    ] 关卡编辑器帮助文档 一.简单介绍 关卡编辑器用于游戏关卡界面元素的可视化编辑,包含元素的位置.尺寸以及其他自己定义属性.通过解析生成的数据文件就可以获取关卡信息,并能随时调整.以降低开发工作量,提 ...

  7. iOS 开发之粒子效果

    本文由糖炒小虾.Benna翻译 ,校对:sai.u0u0.iven.子龙山人 iOS 5中的UIKit粒子系统教程 Ray的话:这是第15篇.也是最后一篇<iOS 5 盛宴>中的iOS 5 ...

  8. 超炫的HTML5粒子效果进度条 VS 如何规范而优雅地code

    最近瞎逛的时候发现了一个超炫的粒子进度效果,有多炫呢?请擦亮眼镜!   // _this.ch){ _this.particles.splice(i, 1); } }; this.Particle.p ...

  9. 简直要逆天!超炫的 HTML5 粒子效果进度条

    我喜欢粒子效果作品,特别是那些能够应用于实际的,例如这个由 Jack Rugile 基于 HTML5 Cavnas 编写的进度条效果.看着这么炫的 Loading 效果,即使让我多等一会也无妨:)你呢 ...

随机推荐

  1. Fabricate equation(dfs + 模拟)

    Fabricate equation Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Other ...

  2. [Protractor] Use protractor to catch errors in the console

    For any reason, there is an error in your code, maybe something like undefined error. Protractor sti ...

  3. EXPDP和IMPDP简单测试

    一.EXPDP和IMPDP使用说明  Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复.  ...

  4. 关于bxslider在点击左右按钮之后不能自动切换的问题解决

    bxslider很好,但是也弄了个很脑残的设置,每次点击左右按钮之后,就不能自动切换了,要重新点击下方播放的按钮,相当不好用.问度娘没能解决,但是发现一个论坛说要修改源码,这个也找了好久,没找到,问群 ...

  5. Lambda表达式的面纱(一)

    在.NET3.0版本中微软推出了Lambda表达式.这使代码的表述可以更加优雅.但是对于新事物大多会本能的排斥,虽然3.0版本已经推出了好久了,但是我向周围的人了解了一下,用Lambda的人不是很多, ...

  6. 省市联动JQ封装比较简洁调用的方法

    前言 因为省市联动的需求在每个项目几乎存在,所以本人也对此在web页面通过封装比较简洁的JQ方法循环判断调用调用后台获取数据再绑定到Select表单上.如果对代码有什么疑问或者更好办法可以在评论区留言 ...

  7. 编写简单的 NT 式驱动程序的加载与卸载工具

    写驱动的加载需要用到五个函数: OpenSCManager() CreateService() OpenService() StartService() CloseServiceHandle() 这五 ...

  8. 深入C语言内存区域分配(进程的各个段)详解(转)

    原文地址:http://www.jb51.net/article/39696.htm 一般情况下,一个可执行二进制程序(更确切的说,在Linux操作系统下为一个进程单元,在UC/OSII中被称为任务) ...

  9. QT5.5实现串口通信

    QT5.1以上版本自带QtSerialPort集成库,只要在头文件中集成 #include <QtSerialPort/QSerialPort> #include <QtSerial ...

  10. Linux命令查询手册--sort

    一.sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 二.sort的参数选项 1. sort -u 在输出 ...