Libgdx Developer's Guide(Libgdx开发者手册)-1

简介

Libgdx 是一个跨平台的游戏对象开发框架。目前支持的开发平台有:Windows, Linux, Mac OS X, Android, iOS 和 HTML5。

Libgdx 允许一次编码无需修改即可发布到多个平台。与其等待最新的修改被布置至设备或者编译为HTML5语言,你可以在桌面环境开发你的应用,主要受益于一个极快的迭代周期。你可以使用Java系列的所有工具用以开发。

Libgdx 使你可以尽可能地深入底层,它允许直接访问文件系统,输入设备,音频设备,通过统一的OpenGL ES 1.x 和 2.0接口来访问OpenGL。

在这些底层设备之上,我们建立了一组强大的API帮助你完成普通的游戏开发任务,例如:画面和文本的渲染,构建用户界面,播放声音效果和音乐流,线性代数与三角函数计算,解析JSON和XML等等。

必要时,Libgdx 抛开Java转而使用本地代码以获取尽可能好的性能。所以的这些功能都隐含在Java API中,因此你不用担心全平台的本地代码交叉编译。Libgdx的许多代码都在解决已知的平台问题,所以你不必自己处理。

Libgdx的目标是成为一个框架而不仅仅是引擎,尽管我们也承认根本没有一劳永逸的解决方案。然而,我们提供给你强大的抽象类让你自己选择怎样编写你的游戏或应用。

站在巨人的肩膀上

Libgdx使用了大量的第三方库来提供其功能:




目标与特点

Libgdx 是一个Java框架,提供跨平台API用以游戏或者实时应用开发。它有以下特点:

概述

  • 跨平台开发: Windows, Linux, OSX, iOS, Android 和HTML5((32- 和 64-bit 可用).
  • 多后台,基于 Jogl, LWJGL, Angle (NVIDIA 3D Vision), Android APIs, iOS APIs 和 WebGL/HTML5 APIs.
  • 在桌面上编写和测试代码, 无缝部署至 Android, iOS, 纯 Javascript, Applets, Webstart 或简单的桌面应用.
图形

       

  • 在所有平台使用 OpenGL ES 1.0, 1.1 和 2.0 渲染.
  • 通过自定义JNI绑定在Android2.0及以上版本支持 OpenGL ES 2.0.
  • 底层:
    • 顶点数组
    • 顶点缓冲对象
    • 纹理
    • 纹理地图
    • 同时为固定和可编码的管道提供易用灵活的网格类
    • 帧缓冲对象
    • 描影
    • 即时模式渲染类(用以调试glBegin()/glEnd())
    • 自动处理OpenGL上下文缺失 (纹理和 VBO游戏)
  • 高级 2D:
    • 批处理和缓存画面渲染
    • 位图字体
    • 粒子系统
    • TMX 瓷砖地图渲染
    • 基于位图操作为CPU自定义C 2D图形库
    • 全面的2D场景图与补间框架
  • 高级 3D (正在编写):
    • OBJ和MD5模型装载器
    • 关键帧骨骼动画
    • 正投影与透视相机
    • .. 待添加 ..

音频

  • 流媒体音乐和音效播放,格式:WAV, MP3 and OGG
  • 通过JNI桥接至 KissFFT 的快速傅里叶变换。
  • 通过JNI桥接至Tremor and libmpg123 的OGG和MP3音频解码。 (libmpg123 因为许可证的问题目前已不使用)
  • 直接的接口用以音频设备播放与录制。

文件 I/O

  • 统一的抽象层,包括 Android资源,类路径资源和普通文件系统.
  • 易存储的小数据可存储至优先选项(Preferences)

输入

  • 轮询和基于事件的触屏和鼠键访问机制.
  • 轮询访问指南针和加速度计
  • 振动器支持 (yeah...)
  • 远程输入事件处理允许你将Android手机连接至桌面应用
物理系统
  • 完整的 box2d JNI封装.
  • 此封装非常优秀,其他所有的Android游戏框架和引擎都在使用。

数学

  • 2D,3D线性代数向量和矩阵类
  • 4元数
  • Frustum with culling support
  • 边界形状
  • 交集重叠测试
  • Catmull-Rom 曲线
  • 任意平面多边形Ear裁剪

实用

  • 自定义集合
  • 排序
  • JSON

工具与扩展

优化

  • 对Dalvik虚拟机的需求量身定做的最佳实践准则
  • 运行时无临时对象分配 (除了一些文档部分)
  • 关键部分的本地代码实现
  • 开放-关闭 Dalvik/Harmony bug的工作

Libgdx是什么

一个高性能,跨平台的引擎和游戏开发基础框架。作为一个框架,我们把重点放在建造坚实的基础,而不是实现最新最大的游戏引擎架构。Libdgx提供所有的灵活性来帮助你而不是让你使用严格的方法。

Libgdx不是什么

一个除了厨房水槽之外几乎包括了所有东西的游戏引擎.


(本想逐章翻译,无奈实在没多少时间,这里做一个简介,下节开始动手实践)

猜你喜欢

转载自blog.csdn.net/bob007abc/article/details/9331599