Android上使用libgdx
libgdx是一个非常优秀的2D/3D跨平台物理引擎,今天我们介绍如何在Android上使用它:
1.
在http://code.google.com/p/libgdx/下载libgdx的最新版,我的是0.9.3,同时还有一个gdx-helloworld-0.9.2.zip,也下载下来
2.
解压gdx-helloworld-0.9.2.zip,然后直接在Eclipse导入其中的gdx-helloworld,直接Run As Java Application,会弹出对话框,我们选择HelloWorldDesktop就可以了,如下:
程序截图:
下面我们介绍如何移植到Android下:
1.
新建一个libgdx的Android Project,如下:
2.
在Project的根目录下新建一个libs文件夹,将libgdx下的armeabi和armeabi-v7a两个文件夹copy到libs下,然后将gdx.jar和gdx-backend-android.jar也copy到libs下,结果如下:
3.
右键libgdx项目,选择属性Properties,在Java Build Path的Libraries中点击"Add JARS",加入libs目录下的gdx.jar和gdx-backend-android.jar,如下:
4.
修改LibgdxActivity.java文件如下:
package com.test.libgdx;
import android.app.Activity;
import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
public class LibgdxActivity extends AndroidApplication {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialize(new FirstGame(), false);
}
}
5.
新建一个FirstGame类,如下:
package com.test.libgdx;
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
}
}
6.
Eclipse中Run As Android Application就可以了,如下:
由于我们没有任何绘制,因此出来的效果是黑屏,不过至少libgdx的配置是正确的
完成!