android游戏开发框架libgdx的使用(一)--环境搭建

本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。

Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。

logo:logo

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

首先下载最新的jar,我下载的是libgdx-0.9.2。

SpxImage

新建一个Android项目,File -> New -> Project -> Android Project。我选的SDK是1.6的,最低选择应该是1.5.

新建一个文件夹libs(这个名字是固定的,不能随意改),将下载到的jar复制进去,android平台只需要复制gdx.jar和gdx-backend-android.jar。

增加引用,然后将armeabi和armeabi-v7a两个文件夹复制到libs文件夹中。

SpxImage

然后写个小东西测试一下环境有没有问题。

新建类HelloGameActivity,继承AndroidApplication类。

package com.cnblogs.htynkn;
 
import com.badlogic.gdx.backends.android.AndroidApplication;
 
import android.os.Bundle;
 
public class HelloGameActivity extends AndroidApplication {   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initialize(new FirstGame(), false);
    }
}

 

initialize(new FirstGame(), false);

就是启动游戏的关键,FirstGame是一个实现了ApplicationListener的类。

代码如下

package com.cnblogs.htynkn;
 
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
 
    }
 
}

因为没有写实际的东西,所以效果是一个黑黑的框。
SpxImage

环境搭建就说到这里,下一篇是关于图片绘制的。

注意:

如果仔细观察Logcat,就会发现一个error:

E/libEGL(382): couldn't load <libhgl.so> library (Cannot load library: load_library[984]: Library 'libhgl.so' not found)

这个没什么关系,这是系统尝试加载硬件OpenGL驱动失败了,然后回到软件的处理方法上,不是缺陷或者错误。

posted @   夜明的孤行灯  阅读(18948)  评论(35编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
返回顶部
点击右上角即可分享
微信分享提示