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

一、Modifier创建

使用实例:

,ballRegion,this.getVertexBufferObjectManager());

);

ball.registerEntityModifier(moveModifier);

AlphaModifier:控制alpha变化的改动器

ScaleModifier:控制缩放变化的改动器

RotationModifier:控制旋转变化的改动器

ColorModifier:控制颜色变化的改动器

LoopEntityModifier:装载一个或多个IEntityModifier的循环改动器

SequenceEntityModifier:装载一个或多个IEntityModifier的顺序改动器

ParallelEntityModifier:装载一个或多个IEntityModifier的同步改动器(例:同一时候对一个Entity放大并旋转)

......

二、EaseFunction使用(缓动函数)

IEntity ball =new Sprite

(0,0,ballRegion,this.getVertexBufferObjectManager());

MoveXModifier moveModifier = new MoveXModifier

(0.5f,-ball.getWidth(),0,EaseBackInOut.getInstance());

ball.registerEntityModifier(moveModifier);

在创建Modifier的构造函数中,有个IEaseFunction接口。填入EaseXXX.getInstance();

三、Modifier注冊

当须要使用Modifier时须要调用Entity.registerEntityModifier(final IEntityModifier pEntityModifier)方法进行注冊。

四、Modifier反注冊

在BaseModifier<T>中有一个域autoUnregisterWhenFinished,默认是true,代表Modifier执行完就自己主动反注冊,手动反注冊是调用Entity.unregisterEntityModifier(final IEntityModifier pEntityModifier)。

五、Modifier监听

Modifier构造函数中IEntityModifierListener代表Modifier监听

//Modifier開始时

public void onModifierStarted(final IModifier<T> pModifier, final T pItem);

//结束Modifier时

public void onModifierFinished(final IModifier<T> pModifier, final T pItem);

六、Modifier管理

在Entity中,EntityModifierList是管理当前Entity的Modifier列表,事实上质是个ArrayList,注冊与反注冊事实上就是在这个List中add或者remove处理。

【v2.x OGE教程 16】 Modifier使用相关的更多相关文章

  1. 【v2.x OGE教程 20】粒子效果

    1.介绍 粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术.而这些现象用其他传统的渲染技术难以实现的真实感的 game physics.常常使用粒子系统模拟的现象有火.爆炸.烟.水流.火花. ...

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

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

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

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

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

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

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

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

  6. 【v2.x OGE课程 15】 布局相关

    1.父亲和儿子的关系 我们可以Entity类看到非常多parent(父)与child(子)这种字眼,这是游戏引擎中常有的概念,简单而言是一种has-a的关系 watermark/2/text/aHR0 ...

  7. NPOI 教程 - 3.2 打印相关设置

    转:http://www.cnblogs.com/wolfplan/archive/2013/01/13/2858991.html NPOI 教程 - 3.2 打印相关设置   打印设置主要包括方向设 ...

  8. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  9. [译]Vulkan教程(16)图形管道基础之总结

    [译]Vulkan教程(16)图形管道基础之总结 Conclusion 总结 We can now combine all of the structures and objects from the ...

随机推荐

  1. java实现搜索文件夹中所有文件包含的关键字的文件路径(递归搜索)

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  2. 除了上万的月薪之外,还有什么理由让我们必须学Python?

    虽然目前的编程语言有很多,但是基础语法上的概念,本质上都是相通的.可以做到一通百通.所以没有必要为了学哪门语言纠结太多. python是目前市面上,我个人认为是最简洁&&最优雅& ...

  3. python嵌套列表

    从excel读取一行信息添加到一个临时列表,最后将所有行的列表添加到一个大列表. 源码: import xlrd,reclass Info(): def read_info(self): data = ...

  4. RabbitMQ之六种队列模式

    先学习一下RabbitMQ中的六种队列,只学习前五种,具体的官方文档地址是:http://next.rabbitmq.com/getstarted.html 导入maven依赖: <depend ...

  5. Spring对象类型——单例和多例

    由于看淘淘商城的项目,涉及到了项目中处理spring中bean对象的两种类型,分别是单例和多例,就在此记录一下,方便加深理解,写出更加健壮的代码. 一.单例和多例的概述 在Spring中,bean可以 ...

  6. Cloudera’s Distribution Including Apache Hadoop(CDH)安装过程

    文档地址:https://www.cloudera.com/documentation.html                 https://www.cloudera.com/documentat ...

  7. [Python3网络爬虫开发实战] 3.1.3-解析链接

    前面说过,urllib库里还提供了parse这个模块,它定义了处理URL的标准接口,例如实现URL各部分的抽取.合并以及链接转换.它支持如下协议的URL处理:file.ftp.gopher.hdl.h ...

  8. Python:os模块 time模块

    1.os os.popen('cmd').read() 执行某个系统命令,:输出命令结果 os.getcwd()  获取当前操作目录 os.makedirs(r"C:\a\b\c" ...

  9. jquery 修改input输入框的 readOnly属性 && input输入框隐藏

    html的代码 <div class="control-group"> <label class="control-label required&quo ...

  10. 3W法则-学习Docker

    一.前言       5W1H法则是在一次面试中学习到的,后来在工作也开始使用这种东西,虽然最后没去那家公司,但是也是学习到了,关注开这些东西以后,也发现了一些简化版的3W法则,最近公司也要搞Doce ...