发布于 2015-12-18 01:03:05 | 191 次阅读 | 评论: 0 | 来源: 网友投递
libGdx 2D/3D的游戏开发框架
libGdx 是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。它基于Apache License, Version 2.0 协议,对商业使用和非商业使用均免费。代码托管于Github中
Libgdx 1.7.2 发布,此版本更新内容如下:
- Added AndroidAudio#newMusic(FileDescriptor) to allow loading music from a file descriptor, see #2970
- Added GLOnlyTextureData, which is now the default for FrameBuffer and FrameBufferCubemap, see #3539
- Added rotationChanged() for Actor class, called when rotation changes, see https://github.com/libgdx/libgdx/pull/3563
- Fixed crash on MacOS when enumerating connected gamepads.
- ParticleEmitter no longer says it's complete when it's set to continuous, see #3516
- Improved JSON parsing and object mapping error messages.
- Updated FreeType from version 2.5.5 to 2.6.2.
- Fixed corrupt FreeType rendering for some font sizes.
- API Change: FreeTypeFontParameter has new fields for rendering borders and shadows.
- FreeTypeFontParameter can render much better fonts at small sizes using gamma settings.
- BitmapFont can now render missing (tofu) glyph for glyphs not in the font.
- FreeTypeFontGenerator depreacted methods removed.
- Fixed BitmapFont color tags changing glyph spacing versus not using color tags. BitmapFont#getGlyphs has a new paramter. See #3455.
- Skin's TintedDrawable now works with TiledDrawable. #3627
- Updated jnigen to Java Parser 2.3.0 (http://javaparser.github.io/javaparser/).
- FreeType fonts no longer look terrible at small size. This is a big deal!
- Updated to RoboVM 1.12.0, includes tvOS support!
下载:https://github.com/libgdx/libgdx/archive/1.7.2.zip
Libgdx是一个跨平台的开发框架。它目前支持的平台有Windows,Mac OS X,Android,IOS和HTML5。
Libgdx允许你可以将代码不经任何修改的部署到多个平台。而不是修改你的代码适应不同的平台或者直接编译到HTML5。你可以在一个桌面开发环境中迅速部署你的代码。你可以使用所有的Java生态系统中的开发工具。
Libgdx可以在底层进行操作。可以让你直接访问文件系统,输入设备,输出设备,音频设备和通过统一的OpenGL ES接口访问OpenGL。
基于这些底层的操作,Libgdx建立了强大的API帮助你完成常见的开发任务。比如渲染精灵,绘制文本,构建用户界面,播放声音效果和音乐流,线性代数和三角计算,解析JSON和XML数据等。
在必要时,Libgdx可以通过本地代码追求更好的性能。所有这些功能隐藏在Java API函数中,所以你不用为为不同平台交叉编译本地代码而担心。Libgdx的很多部分可以运行在已知的平台中,所以你不用担心。
Libgdx旨在成为一个框架而不是一个引擎,世上没有一劳永逸的事。相反,Libgdx强大的抽象可以让你编写出你想要的游戏或者应用。
Libgdx是一个Java框架,它为编写游戏和实时应用提供了一个跨平台的API。Libgdx提供了以下的功能:
常规:
1、 支持Windows、Linux、OSX、IOS、Android和HTML5的跨平台的开发环境。(支持64位)
2、 基于JOGL、LWJGL、Angle,Android API函数、iOS API函数 andWebGL/HTML5 API函数的后端。
3、 在桌面编写和测试应用,无缝的部署在Android,IOS,JavaScript,Applet,Webstart或普通桌面。
图形:
1、 通过OpenGL ES进行渲染。
2、 支持JNI绑定。
3、 底层:
1) 顶点数组
2) 顶点缓冲区对象
3) 纹理
4) 纹理地图集
5) 易于使用、灵活的网格类
6) 帧缓冲对象
7) 着色器
8) 立即模式渲染器类(用于测试)
9) 自动处理OpenGL环境损失(纹理等)
4、2D:
1)批处理和精灵渲染
2)点阵字体
3)粒子系统
4)TMX地图渲染
5)操作位图的自定义2D图形库
6)成熟的具有补间动画的二维场景图
5、3D:
1)高级三维
2)OBJ和MD5模型加载器
3)关键帧和骨骼动画
4)投影和透视
音频:
1、 流媒体和音效播放(WAV、MP3、OGG)
2、 通过一个JNI桥到KissFFT的快速傅里叶变换
3、 音频解码
4、 对于简单回放和录制的直接接口
文件I/O:
1、 抽象层
2、 易于存储小数据
输入:
1、 基于事件的访问触摸屏、鼠标和键盘
2、 访问罗盘和加速度计
3、 Vibrator的支持
物理:
1、 box2d
数学:
1、 向量和矩阵
2、 四元数
3、 边界形状
4、 交叉和重叠测试
5、 Catmull-Rom插值
公用:
1、 自定义集合
2、 排序
3、 JSON
Libgdx是什么:
一个作为引擎和游戏基础的高性能,跨平台的游戏开发框架。这个框架允许我们我们专注于基础而不是游戏引擎的新的特性。它具有很棒的灵活性。