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处理。

最新文章

  1. MongoDB 搭建副本集
  2. 配置 nginx server 出现nginx: [emerg] &quot;root&quot; directive is duplicate in /etc/nginx/server/blogs.conf:7
  3. linux内核中的GPIO系统之(1):软件框架
  4. sql插入多条数据的sql语句
  5. C#模拟键盘鼠标事件 SendKeys 的特殊键代码表(转)
  6. debug类和trace类的区别
  7. VS2012 直接浏览网页时报错
  8. Windows下的多线程
  9. linux sar查看网络流量
  10. 提高java编程质量 - (一)易变业务使用脚本语言编写
  11. jackson json转bean忽略没有的字段 not marked as ignorable
  12. Spring boot 学习笔记 1 - 自定义错误
  13. windos下完全卸载MySQL
  14. 十图详解tensorflow数据读取机制(附代码)转知乎
  15. 如何使用chrome浏览器进行js调试找出元素绑定的点击事件
  16. Spring-json依赖
  17. 线程池原理及python实现
  18. Azure 镜像市场发布商指南
  19. source insight 4.0的基本使用方法(转)
  20. JavaWeb--过滤器Filter (一)

热门文章

  1. log4net小记
  2. vue脚手架引入swiper
  3. Mysql使用遇到的问题(一)
  4. ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS
  5. 在 XML 中有 5 个预定义的实体引用
  6. PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数
  7. ORACLE IN 与NOT IN 的性能区别
  8. python3.x Day5 socket编程
  9. YOLOv3配置(win10+opencv3.40+cuda9.1+cudnn7.1+vs2015)
  10. maven运行出现错误:Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]](xjl456852原创)