• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.特点
  • 4.1.强兼容性
  • 4.2.高效性
  • 4.3.架构清晰
  • 4.4.封装
  • 4.5.工具
  • 4.6.网络
  • 4.7.UI编辑器
  • 4.8.参考资料
  • 5.不足
  • 6.大事记
  • 7.游戏展示
  • 8.参考资料

libGDX

libGdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。

基本信息

  • 外文名

    libGDX

  • 协议

    Apache License,Version 2.0协议

  • 特点

    强兼容性高效性

简介

它基于Apache License, Version 2.0协议,对商业使用和非商业使用均免费。代码托管于Github中。最新版本为1.9.10。

特点

开源的游戏框架并不少见,但是libgdx的优势是相当明显的,主要是体现在以下几个方面

强兼容性

libgdx兼容多种平台系统(Windows、Linux、Max OS X、Java Applet、Javascript/WebGL),包括移动系统Android(1.5版本+)和iOS。对于Android平台的支持在Android阵营和相关市场日益扩大的情况下libgdx的使用者越来越多。另外,基于RoboVM可以实现iOS兼容1

同时极强的兼容性为调试和开发提供了便利。你可以使用Android上面同样的代码在桌面PC上面编写,测试,调试你的应用(也就是说,你可以不需要打开Android模拟器,就可以调试用Libgdx引擎写的游戏应用)。它剥离了常见的Windows之间/ Linux应用程序和一个Android应用程序的区别。一般的开发过程是尽可能的在停留桌面PC上,同时周期性的检查你的当前代码是否仍然能在Android运行。

高效性

Libgdx主要是用Java写的,其中也掺杂了一些C/C++代码,这些代码是为了处理一些对性能要求很高的操作,比如物理引擎或者音频处理。作为用户,你只需要关注Java的封装就可以了,它已经把所有的本地代码封装好了。相比于其他android游戏引擎,libgdx的效率优势十分明显。

架构清晰

libgdx的主要构成如下所示

Libgdx由audio、files、graphics、math、physics、scenes、utils这些主要模块所组成,它们分别对应了Libgdx中的音频操作,文件读取,2D/3D渲染,Libgdx绘图相关运算,Box2D封装,2D/3D游戏组件,以及Libgdx内置工具类。

它提供了便于设计游戏的清晰架构

模块和设计

封装

Libgdx对于物理引擎的封装也是让人惊讶的。 它足够疯狂的使用jni封装了box2d的c++版本,使得其运行效率比其他同级的物理引擎如jbox2d快不少。现在流行的几个包含物理引擎Android游戏引擎(如Andengine、Rokon等),几乎都在用libgdx。如果你的游戏(特别是针对Android平台的)准备使用物理引擎,请优先考虑Libgdx。

工具

Libgdx还拥有相当数量的开发工具。如Particle editor(粒子编辑器),Hiero bitmap font generator(文字生成工具),Texture packer(图片合并工具),TWL布局编辑器,Gdx Setup UI等。