剖析AndEngine引擎中的Activity

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...
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值