AndEngine 今天的主角,是一个 Android 平台的开源 2D OpenGL 游戏引擎,采用 GNU Lesser GPL,包含游戏引擎的常用功能,同时内置了Box2D物理引擎,你可以非常方便的在你的程序里面使用物理效果。。下面将要通过一个 HelloWorld 来介绍 Android 的基本用法。
1.准备工作
1)eclipse、Android SDK的安装配置,这个就不用多说,具体自行Google
2)签出 AndEngine 以及 AndEngineExamples 的代码,eclipse的插件 Mercurial Eclipse 就可以轻松签出,它们的版本库地址分别是
https://andengine.googlecode.com/hg/
https://andengineexamples.googlecode.com/hg/
2.在 Eclipse 中新建一个 Android 项目, File->New->Android Project ,输入相应的内容,注意Build Target选择 1.6 点击 Finish
3 .把 AndEngine 加入到上一步新建的项目中
方法一:加入 AndEngine 的代码到 项目中,把准备工作中签出的 AndEngine 项目中 src目录的 文件 复制到 上一步新建的项目 目录中的 src 里面。这样做的好处是你可以自由的修改 AndEngine 的源代码
方法二:加入 andengine.jar 到项目中,在上一步新建的项目中新建文件夹 “lib”,把准备工作中签出的 AndEngine 项目中 lib 目录下面的 andengine.jar,在 eclipse 的 Package Explorer 中的新建项目中找到 andengine.jar ,右键->Build Path ->Add to Build Path。这样做的好处是方便简洁
4.HelloWorld,修改项目中原有的 Activity,代码如下,注意类名的一致
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| import org.anddev.andengine.ui.activity.BaseGameActivity;
import org.anddev.andengine.entity.primitive.Line;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
public class helloae extends BaseGameActivity {
// ===========================================================
// Constants
// ===========================================================
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
// ===========================================================
// Fields
// ===========================================================
private Camera mCamera ;
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
public Engine onLoadEngine () {
this. mCamera = new Camera (0, 0, CAMERA_WIDTH, CAMERA_HEIGHT );
return new Engine (new EngineOptions (true, ScreenOrientation. LANDSCAPE, new RatioResolutionPolicy (CAMERA_WIDTH, CAMERA_HEIGHT ), this. mCamera));
}
@Override
public void onLoadResources () {
}
@Override
public Scene onLoadScene () {
this. mEngine. registerUpdateHandler(new FPSLogger ());
final Scene scene = new Scene (1);
scene. setBackground(new ColorBackground (1.0f, 1.0f, 1.0f ));
final Line line = new Line(0, 240, 720, 240, 5.0f );
line. setColor(1, 0, 0);
scene. getFirstChild(). attachChild(line );
return scene ;
}
@Override
public void onLoadComplete () {
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
} |
添加完这段代码之后,别忘了在你项目的AndroidManifest.xml 中添加
<uses-permission android:name=”android.permission.WAKE_LOCK”/ >
5.运行

运行截图
没错,就是在屏幕中间绘制一条红色的横线。
参考:AndEngine初步
最近评论