android游戏开发框架libgdx的使用(一)--环境搭建
转载声明:http://www.cnblogs.com/htynkn/archive/2011/11/10/libgdx_1.html
Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。
地址:http://code.google.com/p/libgdx/
首先下载最新的jar,我下载的是libgdx-0.9.2。
新建一个Android项目,File -> New -> Project -> Android Project。我选的SDK是1.6的,最低选择应该是1.5.
新建一个文件夹libs(这个名字是固定的,不能随意改),将下载到的jar复制进去,android平台只需要复制gdx.jar和gdx-backend-android.jar。
增加引用,然后将armeabi和armeabi-v7a两个文件夹复制到libs文件夹中。
然后写个小东西测试一下环境有没有问题。
新建类HelloGameActivity,继承AndroidApplication类。
1 package com.cnblogs.htynkn; 2 3 4 5 import com.badlogic.gdx.backends.android.AndroidApplication; 6 7 8 9 import android.os.Bundle; 10 11 12 13 public class HelloGameActivity extends AndroidApplication { 14 15 @Override 16 17 public void onCreate(Bundle savedInstanceState) { 18 19 super.onCreate(savedInstanceState); 20 21 initialize(new FirstGame(), false); 22 23 } 24 25 }
1 initialize(new FirstGame(), false);
就是启动游戏的关键,FirstGame是一个实现了ApplicationListener的类。
代码如下
1 package com.cnblogs.htynkn; 2 3 4 5 import com.badlogic.gdx.ApplicationListener; 6 7 import com.badlogic.gdx.Gdx; 8 9 import com.badlogic.gdx.graphics.GL10; 10 11 import com.badlogic.gdx.graphics.g2d.SpriteBatch; 12 13 14 15 public class FirstGame implements ApplicationListener { 16 17 //绘图用的SpriteBatch 18 19 private SpriteBatch batch; 20 21 @Override 22 23 public void create() { 24 25 batch = new SpriteBatch(); //实例化 26 27 } 28 29 30 31 @Override 32 33 public void dispose() { 34 35 // TODO Auto-generated method stub 36 37 38 39 } 40 41 42 43 @Override 44 45 public void pause() { 46 47 // TODO Auto-generated method stub 48 49 50 51 } 52 53 54 55 @Override 56 57 public void render() { 58 59 Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); //清屏 60 61 batch.begin(); 62 63 batch.end(); 64 65 } 66 67 68 69 @Override 70 71 public void resize(int width, int height) { 72 73 // TODO Auto-generated method stub 74 75 76 77 } 78 79 80 81 @Override 82 83 public void resume() { 84 85 // TODO Auto-generated method stub 86 87 88 89 } 90 91 92 93 }
环境搭建就说到这里,下一篇是关于图片绘制的。
注意:
如果仔细观察Logcat,就会发现一个error:
E/libEGL(382): couldn't load <libhgl.so> library (Cannot load library: load_library[984]: Library 'libhgl.so' not found)
这个没什么关系,这是系统尝试加载硬件OpenGL驱动失败了,然后回到软件的处理方法上,不是缺陷或者错误。