首页 > 代码库 > 【v2.x OGE教程 17】事务处理
【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】事务处理