一、 开发包下载
1) libgdx 开发包下载: google code(最新 libgdx-0.9.7.zip 2012.11.12)
2) libgdx 主干源码下载: github tags
二、 环境搭建
1) 添加开发jar包
libgdx的android开发包主要有 gdx.jar,gdx-backend-android.jar,以及 armeabi 和 armeabi-v7a (区别)
解压libgdx -x.x.x.zip 文件, 可以看到以下目录树:
开发libgdx时,把画蓝色横线的开发包拷贝到自己的Android项目libs目录下,效果图如下:
2) 添加源码jar包
开发过程中,可能需要链接查看libgdx源码,因此需要添加gdx-backend-android-sources.jar 和gdx-sources.jar 源码包
添加步骤: 点击libgdx开发jar包中的引用函数——》查看源码——》Attach Source... ——》 选择上图gdx-backend-android-sources.jar和gdx-sources.jar源码包
3) 在自己的项目myLibgdx,添加完开发包jar和源码包jar后,其效果如下:
三、 简单示例
1) 新建Activity
在自己项目myLibgdx中, 新建一个MainActivity,继承于libgdx父类AndroidApplication
public class MainActivity extends AndroidApplication {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new MyGame(), false);
}
}
2) 自定义 MyGame
上面 MainActivity 的initialize() 中,使用了自定义的 MyGame 类,其实现 libgdx 父类接口ApplicationListener , 详细定义如下:
public class MyGame implements ApplicationListener {
private SpriteBatch batch; // 初始化游戏精灵
private BitmapFont bf; // 初始化字体绘制
@Override
public void create() { // 创建
batch = new SpriteBatch();
bf = new BitmapFont();
bf.setColor(Color.RED);
bf.setScale(1.0f);
}
@Override
public void render() { // 渲染
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearColor(0, 0, 0, 0);
batch.begin();
bf.draw(batch, "hello libgdx", Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
batch.end();
}
@Override
public void resize(int arg0, int arg1) { // 布局调整
}
@Override
public void pause() { // 暂停
}
@Override
public void resume() { // 恢复
}
@Override
public void dispose() { // 销毁
bf.dispose();
batch.dispose();
}
}
运行结果:
源码下载
四、 libgdx生命周期
通过上面的简单示例,libgdx 运行流程已全部展示出来了,具体流程如下:
1) 主MainActivity,继承于libgdx父类AndroidApplication, 而AndroidApplication 又继承Android 基本的Activity并实现了libgdx自定义的接口类Application, 关系如下:
public class AndroidApplication extends Activity implements Application
2) 自定义MyGame,实现 libgdx 父类接口 ApplicationListener, 而ApplicationListener 接口如下:
public class MyGame implements ApplicationListener {
public void create () {
}
public void resize (int width, int height) {
}
public void render () {
}
public void pause () {
}
public void resume () {
}
public void dispose () {
}
}
逻辑流程如下:
逻辑流程的功能描述:
方法名 | 功能描述 |
create() | 应用创建时,被调用且只调用一次 |
resize(int width, int height) | 游戏屏幕每次重置大小且不在暂停状态时调用此方法,在create()后仅调用一次,参数是屏幕被重置后的新宽度和高度(像素) |
render() | 每次渲染发生时,游戏循环调用此方法。游戏逻辑更新常在此方法中,即循环刷新绘制游戏的逻辑画面 |
pause() | 在android中当Home键按下或重新进入程序时调用,这是一个保存游戏状态的好时刻,resume()不一定会被调用 |
resume() | 这个方法仅在android中调用,当应用从pause状态重新获取焦点时resume |
dispose() | 当应用销毁destroyed时,调用此方法,在pause()之后 |
libgdx 应用开发的逻辑流程图:
五、 总结
从上文的示例和流程图可以看出,libgdx 游戏开发步骤如下:
1) AndriodApplication,继承自Android 的基类 Activity, 起到了一个Activity的作用,但是我们并不在这个“Activity”中做太多的工作,当然可以做一些保存Context上下文之类的工作,如 onSaveInstanceState(),onRestoreInstanceState()等
2) libgdx开发中实际的显示工作,是交给一个实现了ApplicationListener接口的类来完成,它有所需要的所有功能:创建,渲染(刷新),暂停,恢复,销毁等。所以实际的情况是,我们在游戏中的大部分绘图工作都是放在这个页面进行的
参考推荐:
libgdx 概述
The Life-Cycle(libgdx wiki)
libgdx游戏引擎教程 ApplicationListener
android游戏开发框架libgdx 开发框架总观
分享到:
相关推荐
3. 开发环境搭建:介绍如何设置和配置LibGDX开发环境,包括必要的开发工具和库文件的安装。 4. 基本游戏循环与事件处理:游戏运行的核心是游戏循环,LibGDX中的游戏循环如何设计与实现,事件处理机制,包括用户输入...
android游戏开发框架libgdx的使用(一)--环境搭建.pdf
android游戏开发框架libgdx的使用(一)--环境搭建知识.pdf
Libgdx游戏引擎环境搭建的简单示例,项目内含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9100021
#### 三、搭建Libgdx开发环境 1. **下载并安装**:首先从Libgdx官方网站下载最新版本的开发包,如libgdx-0.81.zip,解压缩至指定目录。 2. **阅读官方文档**:参考解压后的README文件,按照指示创建项目结构,这一...
在“Libgdx专题系列第一篇 第一节”中,我们将着重介绍Libgdx的基础知识和环境搭建。首先,你需要下载并安装Java Development Kit (JDK) 和Eclipse或IntelliJ IDEA这样的Java集成开发环境(IDE)。接着,通过Libgdx的...
搭建开发环境的实例:libgdx demo
本资源提供的"libGdx配置好的AndroidStudio项目结构"是一个预配置好的工程模板,对于初学者来说,可以直接跳过复杂的环境搭建和项目配置,快速进入游戏开发阶段。 在libGdx项目中,通常会包含以下几个核心模块: 1...
#### 一、环境搭建 **Libgdx** 是一款功能强大的跨平台游戏开发框架,它支持2D和3D游戏开发,并且可以部署到多个平台上,包括Android、iOS、Web、以及桌面应用(如Windows、Mac、Linux等)。下面将详细介绍如何搭建...
这个“libgdx-template”项目就是为方便开发者快速入门和搭建LibGDX游戏项目而设计的一个模板。下面我们将深入探讨LibGDX框架及其模板项目的具体细节。 ### LibGDX 框架概述 LibGDX 是用Java语言编写,并且基于...
本文将详细介绍如何利用"libgdx-scala-template"模板项目,从零开始搭建一个基于Scala和libgdx的游戏开发环境。 LibGDX是一款开源的游戏开发库,它支持Java和Scala,提供了一套完整的工具集,包括2D/3D图形渲染、...
这个“libgdx-boilerplate”项目,正如其标题所言,是针对LibGDX游戏开发的一个通用代码模板,旨在帮助开发者快速搭建游戏的基础结构,减少重复劳动,提高开发效率。 在描述中提到的“通用样板代码”,通常包括了...
而sgtcloud-libgdx-sdk则是一个专为MBA SGTCloud定制的LibGDX SDK,旨在提供更加便捷的开发环境和优化的性能,帮助开发者更高效地构建游戏。 首先,我们来深入理解sgtcloud-libgdx-sdk的核心特点: 1. **面向MBA ...
libgdx支持Tiled Map,能轻松加载和渲染这些地图,提供了灵活的层管理和对象组功能,便于构建复杂的游戏环境。 3. **回合制游戏机制**: "Turn Base Grid Game"意味着游戏以回合制方式进行,每个玩家轮流进行操作...
在开始使用AndEngine之前,需要搭建开发环境。这通常包括安装Android Studio、导入AndEngine库,以及配置EngineOptions,其中IResolutionPolicy用于处理不同设备的屏幕尺寸,确保内容能在各种设备上正确显示。Engine...