• 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驱动失败了,然后回到软件的处理方法上,不是缺陷或者错误。

  • 相关阅读:
    常用的系统操作需要的响应时间
    几种RAID技术比较
    iptables详解
    mount命令详解
    解决CSocket高数据传输问题
    VC++ ComBox下拉菜单看不到值
    封装MySQL C API 基本操作
    MySQL存储过程和存储函数
    MYSQL 常用命令
    VS2005连接MySQL C API
  • 原文地址:https://www.cnblogs.com/htynkn/p/libgdx_1.html
Copyright © 2020-2023  润新知