Android 游戏框架 libgdx 学习札记 - 框架介绍

Android 游戏框架 libgdx 学习笔记 - 框架介绍英文原文地址:https://code.google.com/p/libgdx/wiki/Appli

Android 游戏框架 libgdx 学习笔记 - 框架介绍
英文原文地址:https://code.google.com/p/libgdx/wiki/Application

引用本文请注明来源:http://yhz61010.iteye.com/blog/1939613

什么是 Back-ends
  Libgdx 将不同平台的差异进行了抽象,将它们抽象成一个接口集。对于每一个 libgdx 支持的平台,我们统一将它叫做 back-end,因为它们都实现了这些接口的。作为一个开发者,我们并不关心 back-ends,但我们需要关心的这些接口。

Libgdx 目前支持 4 种 back-ends:
1. Lwjgl(Lightweight Java Game Library):基于轻量级 Java 游戏库,使用 JNI 实现的平台相关的窗口工具包, OpenGL 和 OpenAL 及其它一些功能。该 back-end 运行于 Windows, Linux 和 Mac OS X, 并提供了 Java run-time,及支持 OpenGL 1.5+ 的显卡。
2. Jogl(Java Bindings for OpenGL):基于 Jogl 1.1 另一个使用 JNI 实现的 OpenGL 和 SWing,及 LWJGL 实现的 OpenAL。它依然用于 Windows, Linux 和 Mac OS X 平台。Lwjgl back-end 是现在的首选,因为它更加稳定,特别是对于那些全屏的应用。
3. Android:基于 Android API。
4. HTML5:基于 GWT,SoundManager 2 以及基于 Quake 2 GWT port 的更新后的 GWT WebGL 和 Local Storage。该 back-end 会将 Java 代码编译成纯 JavaScript 代码,可以运行于 Chrome, Safari, Firefox 和最新版 Opera 以及任何支持 WebGL 的浏览器。由于原生的 GWT 和 JavaScript 的问题,使用该 back-end 时会有一些限制,详细信息可以查看如下地址:https://github.com/libgdx/libgdx/tree/master/backends/gdx-backends-gwt/issues.txt

模块
  模块是 libgdx 的核心,它由五个接口组成,用于和操作系统的交互。每一个 back-end 都实现了这些接口。
Application:负责运行应用并通知 API 客户端应用级别的事件。例如,调整窗口大小等。提供 Log 功能及一些查询方法。例如,查询内存使用情况等。Files:暴露平台底层的系统文件。在自定义的 Filehandle 系统之上(并不是使用 Java 的 File 类进行内部操作),提供了一个对文件位置的不同类型的抽象。Input:通过 API 客户端关于用户的输入,例如,鼠标,键盘,触摸事件,或加速计事件。支持轮询和事件驱动两种处理方式。Audio:提供了关于音效和流音乐的回话以及直接访问音频设备(PCM 音频的输入/输出)的能力。Graphics:可以使用 OpenGL ES 1.x 和 2.0(如果可用的话),还允许查询或设置视频模式等。起始类(Starter Classes)
  唯一需要写的关于平台相关的代码,我们管它叫做“起始类(Starter Classes)”。对于每一个平台,我们需要使用一小段代码来实现 back-end 提供的 Application 的一个接口。以桌面程序为例,需要写的 Lwjgl back-end 的代码如下: