参考:http://blog.sina.com.cn/s/articlelist_2483934474_1_1.html http://bbs.51cto.com/thread-1040630-1.html
(一) Libgdx介绍
libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。ibgdx兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统,最近加入了对html5的支持)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。Libgdx以native方式自带图像解码器,通过其提供的Pixmap可以对指定图像进行像素级渲染操作,从而不依赖Android的Bitmap加载处理图像,可以支持png、jpg、bmp.
(二) 下载Libgdx
下载地址: http://code.google.com/p/libgdx/
一般下载最新版本的Libgdx即可
(三) Libgdx环境搭建
1. 双击gdx-setup.jar---填写SDK地址,选择想要生成的工程---选择Advanced---配置Maven(http://maven.oschina.net/content/groups/public/)---勾选Eclipse---Generate。
2. 将生成的工程导入到eclipse,在Eclipse项目的根目录下建立一个libs文件夹,把第2步同时把4个文件(有两个是文件夹)copy到这个目录下, 分别是:
a. armeabi/
b. armeabi-v7a/
c. gdx.jar
d. gdx-backend-android.jar
3. Java build path引用jar包
1. 右击我们的项目,然后选择Properties->Java build path->Libraries->Add external jar 然后导入我们刚在copy到libs文件夹里面的gdx.jar和gdx-backend-android.jar两个jar文件
4.新建包:com.mygdx.game 然后创建MyGdxGame.java
package com.mygdx.game;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import javax.microedition.khronos.opengles.GL10;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class MyGdxGame implements ApplicationListener {
//绘图用的SpriteBatch
private SpriteBatch batch;
private BitmapFont bf;
@Override
public void create() {
batch = new SpriteBatch(); //实例化
bf = new BitmapFont();
}
@Override
public void dispose() {
// TODO Auto-generated method stub
batch.dispose();
bf.dispose();
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); //清屏
batch.begin();
bf.draw(batch, "test----MyGdxGame", Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
batch.end();
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
}
PS:它主要有几个生命周期函数 create / dispose / pause / render / resize / resume
顾名思义, create是创建的时候;dispose是销毁的时候;pause暂停; render系统会不断的调用,不断的渲染; resize屏幕大小发生变化,resume屏幕显示给用户
5.运行工程即可看到效果