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 { }
public EngineOptions(final boolean pFullscreen, final ScreenOrientation pScreenOrientation, final IResolutionPolicy pResolutionPolicy, final Camera pCamera)
pResolutionPolicy:需要一个实现了接口IResolutionPolicy的对象。
IResolutionPolicy接口的具体实现,有如下的常用类:分别为:
BaseResolutionPolicy(除了会校验一下屏幕大小外,什么也不做);
FillResolutionPolicy(拉伸游戏画面为全屏填充,视摄像机大小不同,会有不同程度变形);
FixedResolutionPolicy(强行规定游戏画面为固定大小,此设置不会自动适应屏幕大小);
RatioResolutionPolicy(按比例修正画面大小,以适应屏幕大小);
RelativeResolutionPolicy(根据构建RelativeResolutionPolicy时的缩放参数,缩放游戏屏幕为指定比例)。
这里一般多为图片,地图块的加载,初始化等
最后再调用一下:pOnCreateResourcesCallback.onCreateResourcesFinished();来结束资源加载。
onCreateScene:创建场景,它会调用接口OnCreateSceneCallback,然后调用
pOnCreateSceneCallback.onCreateSceneFinished(new Scene()); 关于Scene的创建,后文会有详解。