andengine编程之andengine启动

本文介绍AndEngine游戏开发中BaseGameActivity类的四个核心方法:onCreateEngineOptions、onCreateResources、onCreateScene及onPopulateScene的使用及调用顺序。通过这些方法,开发者可以构建引擎设置、加载资源、创建场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇介绍了andengine是如何配置工程的,接下来讲讲主类的方法调用。


BaseGameActivity继承了BaseActivity,并实现了接口IGameInterface和IRendererListener。

关于BaseActivity类很简单,想对其了解的朋友可以直接查看源代码。


在我们开发游戏,经常使用的是继承BaseGameActivity类,然后需要实现4个方法:


[java]  view plain copy
  1. public EngineOptions onCreateEngineOptions() {  
  2.     return null;  
  3. }  
  4.   
  5.   
  6. public void onCreateResources(  
  7.         OnCreateResourcesCallback pOnCreateResourcesCallback)  
  8.         throws Exception {  
  9. }  
  10.   
  11.   
  12. public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback)  
  13.         throws Exception {  
  14. }  
  15.   
  16.   
  17. public void onPopulateScene(Scene pScene,  
  18.         OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception {  
  19. }  



它们的调用顺序即其排列顺,首先,我们要了解这四个方法的作用:
onCreateEngineOptions:构建一个引擎设置。
这里补充一点小知识:在早前的代码中,还有需要构建引擎的代码(public Engine onLoadEngine())
,新的代码中保留了该方法(public Engine onCreateEngine),但不强制用户调用。


我们通过对引擎的设置,BaseGameActivity会帮我们完成引擎的建立。
在onCreateEngineOptions里需要返回一个EngineOptions对象,而EngineOptions可以设置很多内,
看一下其构造方法:
[java]  view plain copy
  1. public EngineOptions(final boolean pFullscreen, final ScreenOrientation pScreenOrientation, final IResolutionPolicy pResolutionPolicy, final Camera pCamera)  


英文好的朋友大概已经明白需要构建那些参数了:
pFullscreen:是否全屏


pScreenOrientation:屏幕方向——横竖屏设置


pResolutionPolicy:需要一个实现了接口IResolutionPolicy的对象。

IResolutionPolicy接口的具体实现,有如下的常用类:分别为:
BaseResolutionPolicy(除了会校验一下屏幕大小外,什么也不做);
FillResolutionPolicy(拉伸游戏画面为全屏填充,视摄像机大小不同,会有不同程度变形);
FixedResolutionPolicy(强行规定游戏画面为固定大小,此设置不会自动适应屏幕大小);
RatioResolutionPolicy(按比例修正画面大小,以适应屏幕大小);
RelativeResolutionPolicy(根据构建RelativeResolutionPolicy时的缩放参数,缩放游戏屏幕为指定比例)。

pCamera:摄像机,这个一般多用SmoothCamera,除非你不需要有缩放效果。


除了上述必须要设定的参数外,还可以设置:
声音的设置:但这个必须要得到AudioOptions对象public AudioOptions getAudioOptions()
getAudioOptions().setNeedsMusic(true)
getAudioOptions().setNeedsSound(true)

多点触摸的设置:但这个必须要得到TouchOptions对象public AudioOptions getTouchOptions()
getTouchOptions().setNeedsMultiTouch(true)


onCreateResources:加载资源

这里一般多为图片,地图块的加载,初始化等
最后再调用一下:pOnCreateResourcesCallback.onCreateResourcesFinished();来结束资源加载。


onCreateScene:创建场景,它会调用接口OnCreateSceneCallback,然后调用

[java]  view plain copy
  1. pOnCreateSceneCallback.onCreateSceneFinished(new Scene());  
  2. 关于Scene的创建,后文会有详解。  



好了,剩下的,就差加载背景图片,精灵图片和创建场景了~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值