初识AndEnginee(一)

1.Activity

AndEngine 是一款以 OpenGLES 方式进行画面渲染的 2D 游戏引擎,可以运行在支持
Android 1.6 及以上版本的系统当中。应该说,相较 Libgdx 引擎,AndEngine 拥有更多的游
戏组件与扩展功能。并且与 Libgdx 不同,它在默认情况下已经可以支持中文,采用屏幕坐
标系绘也更符合一般 Android 绘图习惯。

 

由于 AndEngine 是专供 Android 使用的 2D 游戏引擎,所以作为启动类的 Activity 肯定必不
可少,而 AndEngine 也理所应当的提供给我们这样一个 Activity,那就是 BaseGameActivity。
一个标准的 AndEngine 应用,至少应该对 BaseGameActivity 做如下继承:

public class TestActivity extends BaseGameActivity{
     	@Override
      	public Engine onLoadEngine() {
		return null;
     	}
	@Override
	public void onLoadResources() {
	}

	@Override
	public Scene onLoadScene() {
		return null;
	}

	@Override
	public void onLoadComplete() {
	}
}
 

2.回调方法

其中四个必须被重载函数的启动顺序如下:
onLoadEngine->onLoadResources->onLoadScene->onLoadComplete 具体的讲,AndEngine会首先加载Engine类实例通知系统游戏引擎的基本运行方式,而后加载游戏资源,其次加载游戏场景实例,最后通过onLoadComplete通知用户加载完毕并于此进行善后工作。 此外,由于BaseGameActivity类重载了父类Activity的onResume与onPause函数以保证其自身的正常运行,所以不建议在继承BaseGameActivity时再次重载上述函数(重载的话不要忘记super调用),推荐直接重载AndEngine提供的onGamePaused和onGameResumed实现同等功能。


上文介绍了AndEngine的基本运行机制与运行流程,然而仅仅这样AndEngine还是无法实际运行,因为Engine与Scene都没有获得具体实现。假如我们想要在屏幕上显示出随机出现的彩色线段,那么就要把创建的彩色线段加入Scene。

3.BaseGameActivity

BaseGameActivity是整个游戏的主体部分,它包含了一个游戏引擎并且还包有一个SurfaceView对象,这个SurfaceView对象专门提供给引擎在上面进行绘图。一个这样的Activity只能包含一个游戏引擎,如果想要进行界面Activity的转换,可以使用Android系统本身提供的Activity转换机制来实现。

 

4.Engine

游戏引擎实际上是把游戏分成了各不相关的很多时间片段,在每个时间片段上同步绘制和更新整个游戏场景(Scene)上所有在游戏中正处在活动状态的对象。通常情况下一个引擎驱动一个游戏场景,当然除了SplitScreenEngine。

 

5.Camera

由于不能把整个游戏场景都展示在显示屏上,摄像机(Camera)截取一块在游戏场景中的用来显示在显示屏上的矩形区域。通常情况下,一个场景(Scene)只使用一个摄像机(Camera)。Camera类有几个子类,用于放大缩小摄像机的视野和平滑过渡摄像机的移动。

 

6.Scene

场景类Scene是所有在游戏中活动对象的根容器,此容器可以容纳各种在游戏中显示的游戏对象。通常情况下,Scene分为很多层,每一层都可以容纳特定数量(固定数量或者动态数量)的对象。

 

7.Entity

实体就是可以在场景中被绘制出来的对象,例如游戏中的精灵们,矩形等各种图形,文字和直线。实体通常都会有以下几种属性:位置、旋转角度、放大缩小倍数、颜色等。

 

8.Engine Option

定义引擎对象Engine的参数对象。

 

9.RatioResolutionPolicy

IResolutionPolicy接口的实现,这个对象告诉AndEngine如何处理不同屏幕大小的设备。RatioResolutionPolicy会根据特定的长宽比例最大化游戏视图SurfaceView对象,这样游戏对象就不会因为缩放而变形。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值