libgdx 概述

标签: libgdx | 发表时间:2012-12-05 13:38 | 作者:sunboy_2050
分享到:
出处:http://blog.csdn.net

libgdx 是一个跨平台的2D/3D的游戏开发框架,由Java/C/C++语言编写而成,基于  Apache License 2.0 协议,对商业使用和非商业使用均免费,代码托管于 github


优点

1、 兼容性强

libgdx兼容大多数平台,采用标准JavaSE实现,能运行在Mac、Linux、Windows等系统,与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。同时极强的兼容性为调试和开发提供了便利。你可以使用Android上面同样的代码在桌面PC上面编写,测试,调试你的应用(也就是说,你可以不需要打开Android模拟器,就可以调试用Libgdx引擎写的游戏应用),剥离了常见的Windows之间/ Linux应用程序和一个Android应用程序的区别。一般的开发过程是尽可能的在停留桌面PC上,同时周期性的检查你的当前代码是否仍然能在Android运行。


2、 高效性

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


3、 架构清晰

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

libgdx组织模块



游戏设计架构



4、 封装Box2D

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


5、 工具丰富

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



缺点

1、 效率差异

Libgdx也并不是十全十美的,它致力于提供一个统一的架构用于游戏开发工作,以保证在所有平台上相同的行为。可悲的是这个崇高的目标难以达到。最大的不同点在于桌面PC和Android设备在于Android设备通常比桌面PC要慢得多。这意味着你的应用在PC上面运行的极快,但在Android运行的就像蜗牛在爬。必须清楚很多能做的和不能做的规则,开发者应该遵守这些规则,为了保证即使在低端Android,应用都拥有良好的运行效果。


2、 图片资源限制

Libgdx以native方式自带图像解码器,通过其提供的Pixmap可以对指定图像进行像素级渲染操作,从而不依赖Android的Bitmap加载处理图像,不过目前只支持png、jpg、bmp三种图片格式。其次Libgdx要求在游戏中使用的图片宽与高皆为2的整数次幂,否则会产生一个Gdx异常并禁止加载行为(texture width and height must be powers of two)。





参考推荐:

libgdx 托管源码(github)

libgdx wiki & issues(google code)

libgdx official site(官方)

libgdx 框架系列教程(cnblogs)

libgdx 游戏引擎教程(apkbus)


box2d 代码托管(google code)

box2d official site (官方)


作者:sunboy_2050 发表于2012-12-5 21:38:52 原文链接
阅读:27 评论:0 查看评论

相关 [libgdx] 推荐:

libgdx 概述

- - CSDN博客推荐文章
libgdx 是一个跨平台的2D/3D的游戏开发框架,由Java/C/C++语言编写而成,基于  Apache License 2.0 协议,对商业使用和非商业使用均免费,代码托管于 github. libgdx兼容大多数平台,采用标准JavaSE实现,能运行在Mac、Linux、Windows等系统,与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥).

libgdx 环境搭建

- - CSDN博客推荐文章
1) libgdx 开发包下载: google code(最新 libgdx-0.9.7.zip    2012.11.12). 2) libgdx 主干源码下载: github tags. libgdx的android开发包主要有 gdx.jar, gdx-backend-android.jar,以及 armeabi 和 armeabi-v7a ( 区别).

(libgdx小结)图形绘制

- - CSDN博客推荐文章
    在这一小节的图形绘制中所涉及到的类主要有4个:Texture 、TextureRegion、SpriteBatch、Sprite. Texture:图片的容器. TextureRegion:用于截取Texture. SpriteBatch:相当于画笔. Sprite:其实就是加强版的TextureRegion和SpriteBatch.

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

- - bob007abc的专栏
Libgdx 是一个跨平台的游戏对象开发框架. 目前支持的开发平台有:Windows, Linux, Mac OS X, Android, iOS 和 HTML5. Libgdx 允许一次编码无需修改即可发布到多个平台. 与其等待最新的修改被布置至设备或者编译为HTML5语言,你可以在桌面环境开发你的应用,主要受益于一个极快的迭代周期.

如何使用libgdx编写一个简单的游戏(一)

- - 博客园_首页
写这几篇文章主要是看了这个系列的文章: http://www.raywenderlich.com/352/how-to-make-a-simple-iphone-game-with-cocos2d-tutorial. 这个系列主要讲述了如何使用Cocos2D编写简单的游戏. 稍微读读感觉不错,所以想写个libgdx版本的.

libGDX 1.0 正式发布,Android 游戏引擎

- - 开源中国社区最新新闻
libGDX 1.0 发布,此版本现已提供 下载,主要更新内容如下:. 基于 Gradle 项目的安装 ,不需要下载二进制包,不需要更多的 jars,支持所有平台的简单打包. 所有文档 的格式都是视频和 Wiki 文章. OpenGL ES 1.x 的支持,支持 OpenGL ES 3.0. 移除了大量 Android 后端的集群,要求最低 Android 版本是.

如何使用libgdx编写一个简单的游戏(二)— 完善

- - 博客园_首页
上一篇介绍游戏雏形的编写,这一篇将完善部分逻辑并添加更多效果. 例子代码在 https://github.com/htynkn/DartsShaSha,如有需要请自行在tag中下载对应部分. 现在的飞镖可以旋转可以飞行了,但是有一个问题却没有解决. 首先飞镖的速度,如果用户触摸位置很靠近左侧,那么飞镖的速度就很慢了.