由于 AndEngine 包的下属类较多,并且细分也较为庞杂,在一篇文章中一次性介绍完毕几
乎不可能实现。所以下面开始,小弟会就 AndEngine 的一些核心模块进行简明扼要的说明,
但如果前文做过说明的下文会一笔带过。
PS:事实上,就连 AndEngine 作者也不可能做到详细介绍,毕竟到目前为止 AndEngine
压根没有出过文档。(连 andengineexamples 下的示例代码都已经和最新的 AndEngine 源
码脱离了……)
1、关于 Engine:
Engine 是 AndEngine 的核心所在,它对 AndEngine 引擎中 Camera、Scene 等重要组件进
行了统一管理,但必须和 BaseGameActivity 合作使用,利用 EngineOptions 类可以对其进
行必要的参数配置。
2、关于 BaseGameActivity:
如果您想正常使用 AndEngine,那么当前 Activity 就必须继承自 BaseGameActivity 或其子
类,否则你连初始化 Engine 也做不到。虽然它还有父类 BaseActivity,但 BaseActivity 只
提供了一些异步加载方法而无关 AndEngine 的主体实现。因此,BaseGameActivity 就是实
际上的 AndEngine 最基础用类无疑。
3、关于 IResolutionPolicy:
IResolutionPolicy 是一个接口类,其中只规定了 onMeasure 函数的实现格式。事实上,
AndEngine 中所有该类具体实现的作用与标准 View 中的 onMeasure 函数几乎一致,也会
被标准 View 中的 onMeasure 函数重载调用(具体调用在 AndEngine 的 RenderSurfaceView
类当中)。而且除 BaseResolutionPolicy 外,所有 AndEngine 的 IResolutionPolicy 实现也
都调用了 View 的 setMeasuredDimensionProxy 函数。
在 AndEngine 的 org.anddev.andengine.engine.options.resolutionpolicy 包下有一组
IResolutionPolicy 接口的具体实现,分别为 BaseResolutionPolicy(除了会校验一下屏幕大
小外,什么也不做)、FillResolutionPolicy(拉伸游戏画面为全屏填充,视摄像机大小不同,
会有不同程度变形)、FixedResolutionPolicy(强行规定游戏画面为固定大小,此设置不会
自动适应屏幕大小),RatioResolutionPolicy(按比例修正画面大小,以适应屏幕大小),
RelativeResolutionPolicy(根据构建 RelativeResolutionPolicy 时的缩放参数,缩放游戏屏
幕为指定比例)。
最后,所有 IResolutionPolicy 的实现类,都要随着 EngineOptions 于初试化时传递给 Engine
实例才起作用。
4、关于 Camera:
该类即我们常说的游戏摄像机,在 AndEngine 的 Camera 有两种作用,一是用以调节屏幕
的显示区域,二是利用 HUD 类实际绘制游戏屏幕于手机之上。