【v2.x OGE教程 17】事务处理
游戏代码中常常有些逻辑须要处理。因此OGE引擎加入了一个IUpdateHandler的类。
IUpdateHandler类是OGE引擎中使用频率很之高的组件之中的一个,其本身是一个接口。内部有onUpdate以及reset两个函数等待实现,差点儿全部OGE引擎应用中都必定会看到它的身影,它也是OGengine开源引擎加入详细业务到游戏业务线程中的主要方法之中的一个。
1.创建IUpdateHandler
private IUpdateHandler handler = new IUpdateHandler() {
@Override
public void reset() {
// TODO Auto-generated method stub
}
@Override
public void onUpdate(float pSecondsElapsed) {
// TODO Auto-generated method stub
}
};
2.Update与reset方法
update方法中的pSecondsElapsed是上一次逻辑线程执行后过去的时间(秒),当IUpdateHandler注冊后,每次都会执行update方法
reset方法在引擎中没有不论什么调用
3.注冊IUpdateHandler
//注冊一个处理程序
public void registerUpdateHandler(final IUpdateHandler pUpdateHandler)
注冊后IUpdateHandler会加入至List其中,逻辑线程每次会循环这些List进行更新
4.反注冊IUpdateHandler
public void unregisterUpdateHandler(final IUpdateHandler pUpdateHandler)
反注冊后IUpdateHandler会在List中remove掉
5.TimerHandler解说
TimerHandler是IUpdateHandler的子类,会定时运行update方法
/**
* @param pTimerSeconds 每次响应间隔时间 (必须>0)
* @param pAutoReset 是否反复运行
* @param pTimerCallback 计时器触发callback
*/
public TimerHandler(final float pTimerSeconds, final boolean pAutoReset, final ITimerCallback pTimerCallback)
【v2.x OGE教程 17】事务处理的更多相关文章
- 【v2.x OGE教程 19】 引擎状态控制
1.手机button监听 OGE中提供了在BaseGameLauncher(GameLauncher的父类)和IScene(Scene实现的接口)中定义了onKeyUp和onKeyDown的方法.使得 ...
- 【v2.x OGE教程 20】粒子效果
1.介绍 粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术.而这些现象用其他传统的渲染技术难以实现的真实感的 game physics.常常使用粒子系统模拟的现象有火.爆炸.烟.水流.火花. ...
- 【v2.x OGE教程 16】 Modifier使用相关
OGE引擎的改动器功能非常强大,为我们提供了丰富的改动器的实现类,能够改动实体的属性.提供了移动.旋转.缩放.透明.自己定义序列.同步.循环等功能,并且改变的效果能够当场生效.也能够在某一个时间段内生 ...
- 【v2.x OGE教程 11】 动画编辑器帮助文档
] 动画编辑器帮助文档 版本号 日期 作者 说明 1.0 2014-9-3 橙子游戏 文档创建 一.简单介绍 动画编辑器用于游戏动画的可视化编辑,支持序列帧动画和关键帧动画.通过解析生成的 ...
- 【v2.x OGE教程 12】 关卡编辑器帮助文档
] 关卡编辑器帮助文档 一.简单介绍 关卡编辑器用于游戏关卡界面元素的可视化编辑,包含元素的位置.尺寸以及其他自己定义属性.通过解析生成的数据文件就可以获取关卡信息,并能随时调整.以降低开发工作量,提 ...
- 使用FMDB最新v2.3版本教程
使用FMDB教程 本教程针对于第一次接触开源库FMDB的同胞,从如何下载源码如何导入工程如何创建数据库如何写增删改查开始.使用的时最新版本的FMDB v2.3. 此教程开始日期为 2014.5.5 P ...
- [译]Vulkan教程(17)帧缓存
[译]Vulkan教程(17)帧缓存 Framebuffers 帧缓存 We've talked a lot about framebuffers in the past few chapters a ...
- Directx11教程(17) D3D11管线(6)
原文:Directx11教程(17) D3D11管线(6) VS shader输出clip空间的顶点位置及参数信息(比如颜色)到一个FIFO中,之后PA(primitive assembl ...
- 史上最全面的Buffalo WHR-G300N CH v2 刷OpenWrt教程
Buffalo WHR-G300N CH v2 刷OpenWrt.有两种办法.一种是Windows下刷.一种是在linux下使用tftp刷.Buffalo WHR-G300N-CH v2的openwr ...
随机推荐
- 常见Json字符串反序列化处理方式总结
常用来处理Json字符串序列化 反序列化组件:Newtonsoft.Json (https://www.newtonsoft.com/json) 参考资料https://www.cnblogs.com ...
- CSS3新增的属性有哪些:
CSS 用于控制网页的样式和布局. CSS3 是最新的 CSS 标准. CSS3新增了很多的属性,下面一起来分析一下新增的一些属性: 1.CSS3边框: border-radius:CSS3圆角边框. ...
- 微信小程序手势滑动卡片案例
最近工作中有项目要使用微信小程序技术进行开发,其中一项功能困扰了我很久,卡片滑动动效以及手势识别.经过一番研究和参考,现在把成果展示.记录自己踩到的坑,如果大家有需要,也可以帮助到大家. 效果图: 首 ...
- Ordered Broadcast有序广播
sendBroadcast()发生无序广播 sendOrderedBroadcast()发送有序广播 activity_main.xml <LinearLayout xmlns:android= ...
- hdu4405--Aeroplane chess(概率dp第七弹:飞行棋游戏--2012年网络赛)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 图像切割—基于图的图像切割(Graph-Based Image Segmentation)
图像切割-基于图的图像切割(Graph-Based Image Segmentation) Reference: Efficient Graph-Based Image Segmentation ...
- nodejs简介
1.Node.js是什么? Node.js不是一种独立的语言,与PHP.java..net即是开发语言也是平台不同,也不是javaScript的框架 jquery,更不是浏览器的库ExtJs,能不与E ...
- hdu_1698线段树成段更新
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #d ...
- jsp中对话框的实现
<Input type=submit name="g" style="font-size:20px" value="提交" oncli ...
- [NOIP2015模拟10.27] 挑竹签 解题报告(拓扑排序)
Description 挑竹签——小时候的游戏夏夜,早苗和诹访子在月光下玩起了挑竹签这一经典的游戏.挑竹签,就是在桌上摆上一把竹签,每次从最上层挑走一根竹签.如果动了其他的竹签,就要换对手来挑.在所有 ...