博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【v2.x OGE教程 17】事务处理
阅读量:6446 次
发布时间:2019-06-23

本文共 1118 字,大约阅读时间需要 3 分钟。

hot3.png

 

 

游戏代码中经常有些逻辑需要处理,因此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.Updatereset方法

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会在Listremove

5.TimerHandler讲解

TimerHandlerIUpdateHandler的子类,会定时执行update方法

 

/**

 pTimerSeconds 每次响应间隔时间 (必须>0

 pAutoReset 是否重复执行

 pTimerCallback 计时器触发callback

*/

public TimerHandler(final float pTimerSeconds, final boolean pAutoReset, final ITimerCallback pTimerCallback)

 

 

 

 

转载于:https://my.oschina.net/orangegame/blog/338196

你可能感兴趣的文章
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
Shell编程学习总结
查看>>
070、如何定制Calico 网络policy(2019-04-15 周一)
查看>>
构建之法阅读笔记02
查看>>
Webstorm常用快捷键备忘
查看>>
js滚动加载到底部
查看>>
关于mac远程链接window服务器以及实现共享文件
查看>>
Redis慢查询,redis-cli,redis-benchmark,info
查看>>
Virtualbox 虚拟机网络不通
查看>>