AndEngine引擎学习之环境配置以及示例修改

简介:

  最近打算学习下android的游戏开发,大家一直叫我使用cocos2d-x,不过cocos2d-x是使用c++编写的,对于我来说目前还是有点儿难度的,我先使用AndEngine来玩玩。以下是网上的一些demo的配置情况,以及自己的一些与网上不一样的修改。

 

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行: 

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

 

这里修改为:

 

 
  1. //修改此处 
  2.         final AnimatedSprite face = new AnimatedSprite(pX, pY, this.mBoxFaceTextureRegion, this.getVertexBufferObjectManager()); 
  3.         face.animate(100); 

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

 
  1. import org.andengine.entity.primitive.vbo.DrawMode; 
  2.   
  3. this.mMesh = new Mesh(centerX, centerY, this.mMeshVertices, this.mMeshVertexCount, DrawMode.LINE_LOOP, this.getVertexBufferObjectManager(), DrawType.STATIC); 
  4.   
  5. this.mHull = new Mesh(centerX, centerY, this.mHullVertices, this.mHullVertexCount, DrawMode.LINE_LOOP, this.getVertexBufferObjectManager(), DrawType.STATIC); 

这里是import的导入的类不对,改成import org.andengine.entity.primitive.DrawMode;或者使用快捷键

alt+ctrl+o或者ctrl+shift+o完成导入。

SplitScreenExample中的179行:

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

改成和上面的BoundCameraExample中的220行的一样即可。

TextBreakExample中的106行:

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

这里是TextOptions的参数有问题,修改成

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

修改完成了,即可运行。



本文转自xuzw13 51CTO博客,原文链接:http://blog.51cto.com/xuzhiwei/1048904,如需转载请自行联系原作者

相关文章
|
2月前
|
开发者 iOS开发
【教程】修改应用程序开发者名称的步骤
【教程】修改应用程序开发者名称的步骤
|
17天前
|
前端开发 Serverless Shell
Serverless 应用引擎操作报错合集之在阿里云函数计算中,laravel zip包使用示例的start.sh脚本启动时出现错误代码如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 3
|
3月前
|
Web App开发 小程序 专有云
mPaaS问题之文档配置flavor后报错如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
46 2
|
9月前
|
存储 数据可视化 Ubuntu
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
|
10月前
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
489 0
|
SQL 分布式计算 Java
spark入门(2.0.1版本):概述,下载,编译,运行环境及实例运行
spark入门(2.0.1版本):概述,下载,编译,运行环境及实例运行
154 0
|
Linux 数据安全/隐私保护 开发者
默认配置单机版演示|学习笔记
快速学习默认配置单机版演示。
73 0
默认配置单机版演示|学习笔记
|
Java Linux 数据安全/隐私保护
默认配置单机版演示 | 学习笔记
快速学习默认配置单机版演示
90 0
默认配置单机版演示 | 学习笔记
|
关系型数据库 MySQL 数据库
数据库学习-基础知识作业示例【带源码】
MySQL数据库 “基础知识 ” 习题示例,包含源码,能帮助建立起对于数据库基础知识的基本概念
283 0
数据库学习-基础知识作业示例【带源码】
|
存储 JSON 数据格式
Python配置文件模块埋个坑,险些影响了版本上线!
configparser是python推荐使用的配置文件管理模块,但坦白说它真的不怎么好用,使用yaml、json等格式的存储,在多层级数据存储上,效率要比它高很多。但存在即合理,不是所有人都会使用yaml的格式,至于json的格式,很容易导致确实括号等问题,最终json.loads时报错....
256 0