BaseGameActivity(引擎中最基础的Activity)
如果您想正常使用AndEngine,那么当前Activity就必须继承自BaseGameActivity或其子类,否则你连初始化Engine也做不 到。虽然它还有父类BaseActivity,但BaseActivity只提供了一些异步加载方法而无关AndEngine的主体实现。因 此,BaseGameActivity就是实际上的AndEngine最基础用类无疑。
LayoutGameActivity(继承自BaseGameActivity)
LayoutGameActivity类是一个有用的Activity,它允许我们将AndEngine场景图到一个普通的Android应用程序。另一方面,使用这个类,我们也可以包括原生的Android SDK的view,如button, seek bar, spinner, additional layouts或任何view。然而,最流行的使用这类活动的原因是为了让容易实现的广告游戏获得收入的一种手段。
开发步骤:
在layout下的布局文件中的activity_main.xml中添加 RenderSurfaceView类到我们的布局文件。
<org.andengine.opengl.view.RenderSurfaceView
android:id="@+id/gameSurfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
在LayoutGameActivity的子类中覆盖下面的方法。
@Override
protected int getLayoutID() {
return R.layout.main;
}
@Override
protected int getRenderSurfaceViewID() {
return R.id.gameSurfaceView;
}
SimpleBaseGameActivity(继承自BaseGameActivity) 和SimpleLayoutGameActivity(继承自LayoutGameActivity)
使被覆盖的生命周期方法比较容易处理。他们不要求我们覆盖的onPopulateScene()的方法中。最重要的是,当我们完成覆盖的方法时,我们不需要进行回调 。通过这些活动,我们可以简单地添加未使用的生命周期方法, AndEngine会为我们处理的回调。
SimpleAsyncGameActivity(继承自BaseGameActivity)
这个类包含了三种可供选择的生命周期方法,分别为onCreateResourcesAsync(),onCreateSceneAsync(),onPopulateSceneAsync(),onCreateEngineOptions()。此Activity与其他Activity之间的主要区别的是,它为每一个"Async"方法提供了加载bars 。@Override public void onCreateResourcesAsync(IProgressListener pProgressListener) throws Exception { // Load texture number one pProgressListener.onProgressChanged(10); // Load texture number two pProgressListener.onProgressChanged(20); // Load texture number three pProgressListener.onProgressChanged(30); // We can continue to set progress to whichever value we'd like // for each additional step through onCreateResourcesAsync... }