Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)与Android平台。

Libgdx由audio、files、graphics、math、physics、scenes、utils这些主要类库所组成,它们分别对应了Libgdx中的音频操作,文件读取,2D/3D渲染,Libgdx绘图相关运算,Box2D封装,2D/3D游戏组件(3D部分目前无组件),以及Libgdx内置工具类。

官方地址:http://code.google.com/p/libgdx/

开发环境搭建前,必须确定你的android SDK环境已经安装完毕。可以参加前面的笔记。

SDK开发框架:http://blog.csdn.net/zhujunwang/article/details/7866672

最新版的libgdx jar下载:http://libgdx.badlogicgames.com/nightlies/ 

我下载的是最新版本:libgdx-nightly-20120902 ,解压后目录如下


接着创建一个新的android项目,取名为LibgdxDemo,我选择的是2.3.3版本,最低版本可以选择1.5。接着把jar文件导入到项目。

首先新建一个文件夹libs(名字必须为libs,不可随意更改),然后复制jar。libs/gdx.jar、libs/gdx-backend-android.jar、libs/armeabi (directory)、libs/armeabi-v7a (directory)


创建一个Game类

package com.hanfeng.libgdx;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class Game implements ApplicationListener {
	// 绘图工具
	private SpriteBatch batch;
	// 游戏精灵
	private Sprite sprite;
	// 图片解码,用来加载图片
	private Texture texture;

	@Override
	public void create() {
		// 构建SpriteBatch
		batch = new SpriteBatch();
		// 构建Texture,图像宽与高大小都必须为2的整数次幂,否则提示异常
	    // 在Android环境使用Libgdx的internal加载时必须文件必须位于assets目录下  
		texture = new Texture(Gdx.files.internal("basketball.png"));
		// 以指定Texture构建Sprite  
		sprite = new Sprite(texture);
		//加载到指定位置
		sprite.setPosition(200, 280); 
	}

	@Override
	public void render() {
		// 清屏
		Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
		// 初始化绘图
		batch.begin();
		// 绘制精灵到游戏屏幕
		sprite.draw(batch);
		// 绘图结束
		batch.end();
	}

	@Override
	public void resize(int arg0, int arg1) {

	}

	@Override
	public void pause() {

	}

	@Override
	public void resume() {

	}

	@Override
	public void dispose() {
		// 释放占用的资源
		batch.dispose();
		texture.dispose();
	}

}
改写Activity类

package com.hanfeng.libgdx;

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

import android.os.Bundle;

public class AndroidGame extends AndroidApplication {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initialize(new Game(), false);
    }

}
程序运行结果如下图:


libgdxdemo源代码:libgdxdemo.7z

详情可以查看官方介绍:http://code.google.com/p/libgdx/wiki/ProjectSetup

Logo

更多推荐