上一篇介绍了andengine是如何配置工程的,接下来讲讲主类的方法调用。
它们的调用顺序即其排列顺,首先,我们要了解这四个方法的作用:
onCreateEngineOptions:构建一个引擎设置。
这里补充一点小知识:在早前的代码中,还有需要构建引擎的代码(public Engine onLoadEngine())
,新的代码中保留了该方法(public Engine onCreateEngine),但不强制用户调用。
我们通过对引擎的设置,BaseGameActivity会帮我们完成引擎的建立。
在onCreateEngineOptions里需要返回一个EngineOptions对象,而EngineOptions可以设置很多内,
看一下其构造方法:
英文好的朋友大概已经明白需要构建那些参数了:
pFullscreen:是否全屏
pScreenOrientation:屏幕方向——横竖屏设置
除了上述必须要设定的参数外,还可以设置:
声音的设置:但这个必须要得到AudioOptions对象public AudioOptions getAudioOptions()
getAudioOptions().setNeedsMusic(true)
getAudioOptions().setNeedsSound(true)
多点触摸的设置:但这个必须要得到TouchOptions对象public AudioOptions getTouchOptions()
getTouchOptions().setNeedsMultiTouch(true)
onCreateResources:加载资源
好了,剩下的,就差加载背景图片,精灵图片和创建场景了~
BaseGameActivity继承了BaseActivity,并实现了接口IGameInterface和IRendererListener。
在我们开发游戏,经常使用的是继承BaseGameActivity类,然后需要实现4个方法:
public EngineOptions onCreateEngineOptions() {
return null;
}
public void onCreateResources(
OnCreateResourcesCallback pOnCreateResourcesCallback)
throws Exception {
}
public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback)
throws Exception {
}
public void onPopulateScene(Scene pScene,
OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception {
}
它们的调用顺序即其排列顺,首先,我们要了解这四个方法的作用:
onCreateEngineOptions:构建一个引擎设置。
这里补充一点小知识:在早前的代码中,还有需要构建引擎的代码(public Engine onLoadEngine())
,新的代码中保留了该方法(public Engine onCreateEngine),但不强制用户调用。
我们通过对引擎的设置,BaseGameActivity会帮我们完成引擎的建立。
在onCreateEngineOptions里需要返回一个EngineOptions对象,而EngineOptions可以设置很多内,
看一下其构造方法:
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时的缩放参数,缩放游戏屏幕为指定比例)。
除了上述必须要设定的参数外,还可以设置:
声音的设置:但这个必须要得到AudioOptions对象public AudioOptions getAudioOptions()
getAudioOptions().setNeedsMusic(true)
getAudioOptions().setNeedsSound(true)
多点触摸的设置:但这个必须要得到TouchOptions对象public AudioOptions getTouchOptions()
getTouchOptions().setNeedsMultiTouch(true)
onCreateResources:加载资源
这里一般多为图片,地图块的加载,初始化等
最后再调用一下:pOnCreateResourcesCallback.onCreateResourcesFinished();来结束资源加载。
onCreateScene:创建场景,它会调用接口OnCreateSceneCallback,然后调用
pOnCreateSceneCallback.onCreateSceneFinished(new Scene());
关于Scene的创建,后文会有详解。
好了,剩下的,就差加载背景图片,精灵图片和创建场景了~