开源 Android 游戏引擎 libgdx 工程配置
libGdx 是一个开源的 Android 游戏引擎。我也刚开始使用不久,个人觉得这个引擎还是比较轻量级的。之所以接触这个引擎呢,是因为 Java 课的期末项目是一个 Android 程序,我选择用这个引擎写一个华容道游戏,很简单吧。libGdx 有一个优点,就是可以在 PC 上模拟游戏的运行,不需要 Android 模拟器。用过 Android 模拟器的都知道那是慢得……
首先,至少需要一个 Eclipse… 如果想生成 Android 的程序,也就是 apk 文件,那么还需要装 Android SDK.
然后,从 libGdx 的官方网站下载最新版的 libGdx. 目前最新版是 0.9.2 . 具体地说,就是去那个页面把 libgdx-0.9.2.zip 这个文件下下来。然后解压待用。
现在插一段有关 libGdx 工程的结构的介绍。首先,一般的 libGdx 项目有 3 个工程:
- 主工程(Main project):主要把游戏代码写在里面;
- 桌面游戏工程(Desktop project):桌面版的游戏执行代码;
- Android 游戏工程(Android project):Android 版的游戏执行代码。
其中主要的代码量都在主工程中,而桌面和 Android 的工程下,代码只有一点点。
在 Eclipse 中建立主工程
工程的类型就是一般的 Java Project 就可以了,工程的名字假设叫 LibGdxTest(当然也可以是其它)。然后跑到工程目录里,新建一个叫 libs 的文件夹。然后,复制刚才下载的那个压缩包里的 gdx.jar 和 gdx-sources.jar 到 libs 文件夹下。跑回去刷新工程。
再在工程属性里把这个库添加进去。方法是,在工程上点击右键,点 Properties, 点 Java Build Path, 点 Libraries 选项卡,再点 Add JARs, 把 gdx.jar 加入。如图:
然后把源 gdx-sources.jar 附加在这个库上,方法是在刚才添加的 gdx.jar 下,找到 Source attachment, 双击之。然后选择 Workspace…, 然后选择 gdx-sources.jar 就可以了。如图:
再到 Order and Export 标签(就在 Libraries 标签旁边)下,把 gdx.jar 勾上,确定就好了。
桌面工程的配置
创建一个 Java 工程,工程的名字假设叫 LibGdxTestDesktop(当然也可以起其它名字)。然后还是在工程文件夹下添加一个 libs 文件夹,然后把下载来的那个压缩包里的 gdx-natives.jar, gdx-backend-lwjgl.jar 和 gdx-backend-lwjgl-natives.jar 放到 libs 文件夹下。记得要刷新。
还是用刚才的方法,去 Properties » Java Build Path » Libraries » Add JARs, 然后把上面的三个 jar 文件都选择上。
然后点击 Projects 标签(也是在 Libraries 标签的旁边),把主工程添加进去(在本例中主工程的名字叫 LibGdxTest),然后确定就可以了。如图:
然后桌面工程的配置也完了。
LibGdx 的 Android 工程的配置
新建一个 Android 工程,工程的名称假设叫 LibGdxTestAndroid(当然你也可以用其它的名字)。SDK 版本号记得选 Android 1.5 就行,还有,在 Android 工程创建向导中,会询问你主 Activity 叫什么名字,这个例子里我们给它叫 AndroidGame 就好了,当然这个名字随你。
还是到工程目录下创建一个 libs 文件夹,然后把 gdx-backend-android.jar, armeabi 和 armeabi-v7a 复制到 libs 文件夹下。注意 armeabi 和 armeabi-v7a 这两个是文件夹。然后记得在工程里刷新。
为 Android 工程加上 gdx-backend-android.jar 这个库,方法上面也说过了,去 Properties » Java Build Path » Libraries » Add JARs.
然后再为 Android 工程加上 gdx.jar 这个库,你应该能想起来似乎这个库是在主工程里加过的,所以你不用复制一遍,只需要在添加的时候选择主工程下的 libs 就可以了。
再然后到 Projects 选项卡里把主工程加进来,这个操作在桌面工程配置里也执行过。
资源文件夹的路径配置
其实在 Android 工程下有一个资源文件夹,名叫 assets. 我们通常会把这个文件夹与桌面工程共享,这样我们就不用把同样的东西复制一遍了。
共享的方法是,打开桌面工程的属性(Properties)对话框,选择 Java Build Path, 选择 Source 标签,然后点 Link Source. 通常我们的 Android 工程和桌面工程的文件夹会在同一个工作区、同一个文件夹下,所以,我们可以在 Linked folder location 里写上 PARENT-1-PROJECT_LOC/LibGdxTestAndroid/assets , 然后 Folder name 写上 assets . 如图:
至此,整个项目就已经配置好了。接下来要做的是……
LibGdx 的 Hello World
首先是给主工程创建一个游戏类,起名为 Game 就好:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import com.badlogic.gdx.ApplicationListener; public class Game implements ApplicationListener { public void create () { } public void render () { } public void resize (int width, int height) { } public void pause () { } public void resume () { } public void dispose () { } } |
然后在桌面工程新建一个类,叫 DesktopGame, 内容如下:
1 2 3 4 5 6 7 | import com.badlogic.gdx.backends.lwjgl.LwjglApplication; public class DesktopGame { public static void main (String[] args) { new LwjglApplication(new Game(), "Game", 480, 320, false); } } |
在 Android 工程里,原来已经生成了一个 AndroidGame 的 Activity, 把里面的代码修改一下,大概修改成这样:
1 2 3 4 5 6 7 8 | import com.badlogic.gdx.backends.android.AndroidApplication; public class AndroidGame extends AndroidApplication { public void onCreate (android.os.Bundle savedInstanceState) { super.onCreate(savedInstanceState); initialize(new Game(), false); } } |
其实上面的代码我是从官网的 Wiki 页面上弄来的……这样之后就可以运行 DesktopGame 或者 AndroidGame 了,不过目前显示的只是黑屏,因为什么也没写……不过工程的配置也应该已经完啦。





还是多关系下这个方向吧,以后带队需要的
嗯,现在正在关心啊~~