我正在使用AndEngine,并采用了Component-Entity Model来开发我的游戏。我的问题是在AndEngine设置中,在哪里以及如何调用我的实体(及其组件)的更新方法?在AndEngine中,在哪里调用实体更新方法?
我刚刚开始使用AndEngine两天前,所以请原谅我的任何noobity。
我正在使用AndEngine,并采用了Component-Entity Model来开发我的游戏。我的问题是在AndEngine设置中,在哪里以及如何调用我的实体(及其组件)的更新方法?在AndEngine中,在哪里调用实体更新方法?
我刚刚开始使用AndEngine两天前,所以请原谅我的任何noobity。
在AndEngine,为您实体有,使程序在每帧调用更新方法,它的类必须实现IUpdateHandler
接口。
这将强制您覆盖public void onUpdate(float pSecondsElapsed)
和public void reset()
方法。
然后,您将“更新代码”放在onUpdate(float pSecondsElapsed)
的正文中。
实例化对象实现IUpdateHandler
接口然后必须通过registerUpdateHandler(IUpdateHandler updateHandler)
注册在您的Scene
对象中。
下面是一个例子的代码:
实体类与更新方法。
public class Entity implements IUpdateHandler
{
// Lorem ipsum dolor sit amet...
@Override
public void onUpdate(float pSecondsElapsed)
{
// Update code here
}
@Override
public void reset() {
// Reset code here
}
}
,然后在SimpleBaseGameActivity
的初始化块,你必须在主场景声明为
Scene mainScene;
您注册的实体是这样的:
Entity entity = new Entity();
this.mainScene.registerUpdateHandler(entity);