http://code.google.com/p/libgdx/
Libgdxi引擎是一个跨平台的游戏开发库
包含了android和桌面平台两个版本
本文章主要描述Libgdxi引擎的一个简单搭建流程
并且最终绘制出一个三角形
本文章详细内容主要参考于
http://code.google.com/p/libgdx/source/browse/wiki/MyFirstTriangle.wiki
首先进入eclipse的开发环境 新建 Android Project
项目中命名MyFirstTraingleAndroid
完成一些简单的配置后 定义一个新的 activity
这里命名为 MyFirstTraingleAndroid
在项目目录下面新建一个文件夹libs
从 Libgdxi引擎资源文件中 拷贝2个文件夹 2个jar文件到这个libs文件夹中
armeabi/ armeabi-v7a/ gdx-backend-android.jar
gdx.jar 右键打开项目属性 进入Build Path
在Libraries标签页 点击 Add JARs
找到MyFirstTraingleAndroid项目 打开libs文件夹
添加gdx-backend-android.jar 和 gdx.jar
然后修改MyFirstTraingleAndroid.java文件
import ryan.traingle.MyTriangle;
public class MyFirstTraingleAndroid extends AndroidApplication {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new MyTriangle(), false);
} }
这些代码是用于实现游戏入口
这里有一个
自己定义的MyTriangle类
initialize方法会去绘制MyTriangle类的对象
MyTriangle类 的定义写在同一包下面的MyTriangle.java文件中
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Mesh;
import com.badlogic.gdx.graphics.VertexAttribute;
import com.badlogic.gdx.graphics.VertexAttributes.Usage;
public class MyTriangle implements ApplicationListener{
private Mesh mesh;
@Override
public void create() {
if (mesh == null) {
mesh = new Mesh(true, 3, 3,
new VertexAttribute(Usage.Position, 3, "a_position"));
mesh.setVertices(new float[] { -0.5f, -0.5f, 0,
0.5f, -0.5f, 0,
0, 0.5f, 0 });
mesh.setIndices(new short[] { 0, 1, 2 });
}
}
@Override
public void dispose() { }
@Override public void pause() { } @Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
mesh.render(GL10.GL_TRIANGLES, 0, 3);
}
@Override
public void resize(int width, int height) { }
@Override
public void resume() { }
}
在该类中 有一个私有成员mesh对象
create()应该是创建对象时调用的方法
在create方法中定义了一些属性 如 顶点以及顶点索引
render()方法中 先清理buffer
然后调用mesh的render方法
这样一个白色的三角型就绘制出来了
这个程序是一个非常简单的三角形绘制实例
可以了解一些Libgdxi引擎的开发环境搭建
同时要注意的是ApplicationListener接口
绘制的过程都是通过实现ApplicationListener接口完成的
本文章只是为对Libgdxi引擎有初步的认识