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

05-16 06:30