原文链接:

android游戏开发框架libgdx的使用(一)--环境搭建


Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。

logo:​​android游戏开发框架libgdx环境搭建_jar​​

地址:​​http://code.google.com/p/libgdx/​

首先下载最新的jar,我下载的是libgdx-0.9.2。

 



​​android游戏开发框架libgdx环境搭建_ide_02​​

图片分享:



 

新建一个Android项目,File -> New -> Project -> Android Project。我选的SDK是1.6的,最低选择应该是1.5.

新建一个文件夹libs(这个名字是固定的,不能随意改),将下载到的jar复制进去,android平台只需要复制gdx.jar和gdx-backend-android.jar。

增加引用,然后将armeabi和armeabi-v7a两个文件夹复制到libs文件夹中。

 



​​android游戏开发框架libgdx环境搭建_ide_03​​

图片分享:



 

然后写个小东西测试一下环境有没有问题。

新建类HelloGameActivity,继承AndroidApplication类。


​​package​​            ​​com.cnblogs.htynkn; ​​           





​​import​​ ​​com.badlogic.gdx.backends.android.AndroidApplication; ​​





​​import​​ ​​android.os.Bundle; ​​





​​public​​ ​​class​​ ​​HelloGameActivity ​​ ​​extends​​ ​​AndroidApplication { ​​


​​@Override​​


​​public​​ ​​void​​ ​​onCreate(Bundle savedInstanceState) { ​​


​​super​​ ​​.onCreate(savedInstanceState); ​​


​​initialize(​​ ​​new​​ ​​FirstGame(), ​​ ​​false​​ ​​); ​​


​​} ​​


​​}​​


​​initialize(​​           ​​new​​            ​​FirstGame(), ​​           ​​false​​           ​​);​​




就是启动游戏的关键,FirstGame是一个实现了ApplicationListener的类。

代码如下


​​package​​            ​​com.cnblogs.htynkn; ​​           





​​import​​ ​​com.badlogic.gdx.ApplicationListener; ​​


​​import​​ ​​com.badlogic.gdx.Gdx; ​​


​​import​​ ​​com.badlogic.gdx.graphics.GL10; ​​


​​import​​ ​​com.badlogic.gdx.graphics.g2d.SpriteBatch; ​​





​​public​​ ​​class​​ ​​FirstGame ​​ ​​implements​​ ​​ApplicationListener { ​​


​​//绘图用的SpriteBatch ​​


​​private​​ ​​SpriteBatch batch; ​​


​​@Override​​


​​public​​ ​​void​​ ​​create() { ​​


​​batch = ​​ ​​new​​ ​​SpriteBatch(); ​​ ​​//实例化 ​​


​​} ​​





​​@Override​​


​​public​​ ​​void​​ ​​dispose() { ​​


​​// TODO Auto-generated method stub ​​





​​} ​​





​​@Override​​


​​public​​ ​​void​​ ​​pause() { ​​


​​// TODO Auto-generated method stub ​​





​​} ​​





​​@Override​​


​​public​​ ​​void​​ ​​render() { ​​


​​Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); ​​ ​​//清屏 ​​


​​batch.begin(); ​​


​​batch.end(); ​​


​​} ​​





​​@Override​​


​​public​​ ​​void​​ ​​resize(​​ ​​int​​ ​​width, ​​ ​​int​​ ​​height) { ​​


​​// TODO Auto-generated method stub ​​





​​} ​​





​​@Override​​


​​public​​ ​​void​​ ​​resume() { ​​


​​// TODO Auto-generated method stub ​​





​​} ​​





​​}​​



因为没有写实际的东西,所以效果是一个黑黑的框。



​​android游戏开发框架libgdx环境搭建_ide_04​​

图片分享:



 

环境搭建就说到这里,下一篇是关于图片绘制的。

注意:

如果仔细观察Logcat,就会发现一个error:

E/libEGL(382): couldn't load <libhgl.so> library (Cannot load library: load_library[984]: Library 'libhgl.so' not found)

这个没什么关系,这是系统尝试加载硬件OpenGL驱动失败了,然后回到软件的处理方法上,不是缺陷或者错误。