游戏代码中常常有些逻辑须要处理。因此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)