首页 > android > AndEngine环境配置

AndEngine环境配置

准备使用AndEngine进行开发,以前没接触过这东西,所以把自己学习过程写在这里。

首先遇到的问题是环境的配置,导入example包。

1.下载AndEngine源码、example和几个扩展包

AndEngine:

https://github.com/nicolasgramlich/AndEngine

AndEngineExamples:

https://github.com/nicolasgramlich/AndEngineExamples

 

要用到的9个扩展包:

AndEngineLiveWallpaperExtension:

https://github.com/nicolasgramlich/AndEngineLiveWallpaperExtension

AndEngineTexturePackerExtension:

https://github.com/nicolasgramlich/AndEngineTexturePackerExtension

AndEngineTMXTiledMapExtension:

https://github.com/nicolasgramlich/AndEngineTMXTiledMapExtension

AndEngineMultiplayerExtension:

https://github.com/nicolasgramlich/AndEngineMultiplayerExtension

AndEnginePhysicsBox2DExtension:

https://github.com/nicolasgramlich/AndEnginePhysicsBox2DExtension

AndEngineScriptingExtension:

https://github.com/nicolasgramlich/AndEngineScriptingExtension 

AndEngineSVGTextureRegionExtension:

https://github.com/nicolasgramlich/AndEngineSVGTextureRegionExtension

AndEngineMODPlayerExtension:

https://github.com/nicolasgramlich/AndEngineMODPlayerExtension

AndEngineAugmentedRealityExtension:

https://github.com/nicolasgramlich/AndEngineAugmentedRealityExtension

 

下载zip包,下载完后解压,放到同一个文件夹下,每一个文件夹的名字改成各自的包的名字,如AndEngineAugmentedRealityExtension(要做这一步是因为有可能下载下来的zip包命名前后都加了一些字符,如nicolasgramlich-AndEngineAugmentedRealityExtension-8e9a644,而代码中识别是通过相对路径+工程名的)。

 

2.导入eclipse

把上面的所有工程全部导入到workspace中。

注意,我是2012年6月21日下载的,里面默认的target SDK 是 android-15,也就是4.0.3,由于我原本已经有4.0.3的SDK,所以导入比较顺利,否则,可以通过以下几种方法进行处理:

a.把AndEngine以及上述所有工程的target SDK改成你有的SDK版本,如改成2.3.1的,具体怎么改就不说了;然后,把每一个工程根目录下的project.properties文件中的target改成跟你设置的SDK版本一致,比如2.3.1就是android-9。

b.在SDK manager中下载最新版本的SDK,现在来说,最新的是4.0.3.

 

3.导入完成后,进行一些修改

经过上面导入后,有可能是能运行AndEngineExample的了。如果还不能运行,则需要进行下面的处理。

a.如果工程出现红色感叹号,说明包没有导入成功,右击工程>Properties>Java Build Path>Libraries>Add JARS,把AndEngine和其它扩展库项目中bin目录下的jar文件导入。

b.如果工程出现红色的叉,在确定扩展库都导入成功的情况下,打开AndEngineExample的src,把这里面的出错的example删除,或者把出错的地方注释掉,应该就行了。我发现出错的地方有:

BoundCameraExample中的220行:

final AnimatedSprite face = new AnimatedSprite(pX, pY, this.mBoxFaceTextureRegion, this.getVertexBufferObjectManager()).animate(100);

HullAlgorithmExample中的11行、168行、175行:

import org.andengine.entity.primitive.vbo.DrawMode;

this.mMesh = new Mesh(centerX, centerY, this.mMeshVertices, this.mMeshVertexCount, DrawMode.LINE_LOOP, this.getVertexBufferObjectManager(), DrawType.STATIC);

this.mHull = new Mesh(centerX, centerY, this.mHullVertices, this.mHullVertexCount, DrawMode.LINE_LOOP, this.getVertexBufferObjectManager(), DrawType.STATIC);

 

SplitScreenExample中的179行:

final AnimatedSprite face = new AnimatedSprite(pX, pY, this.mBoxFaceTextureRegion, this.getVertexBufferObjectManager()).animate(100);

 

TextBreakExample中的106行:

this.mText = new Text(50, 40, this.mFont, "", 1000, new TextOptions(AutoWrap.LETTERS, AUTOWRAP_WIDTH, Text.LEADING_DEFAULT, HorizontalAlign.CENTER), vertexBufferObjectManager);

 

大概改完后,example就能跑了。

 

初入门游戏引擎,可能有些地方说得不对,希望大家多多指教。

  1. 你的博客好棒啊,欢迎回访哦