发布于 2016-01-07 03:48:12 | 195 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

libGdx 2D/3D的游戏开发框架

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


Libgdx 1.8.0 发布,此版本更新内容如下:

  • API Change: Rewrote FreeType shadow rendering (much better).

  • Added spaceX/Y to FreeType fonts.

  • Higher quality FreeType font rendering.

  • Hiero updated to v5, now with FreeType support and other new features!

  • GlyphLayout now allocates much, much less memory when processing long text that wraps.

  • Added LWJGL 3 backend, see https://github.com/libgdx/libgdx/issues/3673 for more info.

  • Added Graphics#getFramebufferWidth and Graphics#getFramebufferHeight for HDPI handling

  • API Change: Added HdpiUtils. Instead of calling GL20#glViewport and GL20#glScissor yourself
    please use HdpiUtils instead. It will ensure that you handle HDPI monitors correctly when
    using those OpenGL functions. On HDPI monitors, the size reported by Gdx.graphics
    getWidth/getHeight is in logical coordinates as dictated by the operating system, usually half
    the HDPI resolution. The OpenGL drawing surface works in backbuffer coordinates at the full
    HDPI resolution. If you pass logical coordinates to glViewport and glScissor, you only
    affect a quarter of the real backbuffer size. Use HdpiUtils instead, it will do the right thing, while letting you continue to work in logical (aka returned by Gdx.graphics.getWidth/getHeight) coordinates.

  • API Change: Graphis#getDesktopDisplayMode() has been renamed to Graphics#getDisplayMode() and
    returns the current display mode of the monitor the window is shown on (primary monitor on
    all backends except LWJGL3, which supports real multi-monitor setups).

  • API Change: Graphics#getDisplayModes() return the display modes of the monitor the monitor
    the window is shown on (primary monitor on all backends except LWJGL3 which supports real
    multi-monitor setups).

  • API Change: Graphics#setDisplayMode(DisplayMode) has been renamed to
    Graphics#setFullscreenMode(). If the window is in windowed mode, it will be switched
    to fullscreen mode on the monitor from which the DisplayMode stems from.

  • API Change: Graphics#setDisplayMode(int, int, boolean) has been renamed to
    Graphics#setWindowedMode(int, int). This will NOT allow you to switch to fullscreen anymore,
    use Graphics#setFullscreenMode() instead. If the window is in fullscreen mode, it will be
    switched to windowed mode on the monitor the window was in fullscreen mode on.

  • API Addition: Graphics#Monitor, represents a monitor connected to the machine the app is
    running on. A monitor is defined by a name and it's position relative to other connected
    monitors. All backends except the LWJGL3 backend will report only the primary monitor

  • API Addition: Graphics#getPrimaryMonitor() returns the primary monitor you usually want
    to work with.

  • API Addition: Graphics#getMonitor() returns the monitor your app's window is shown on,
    which may not be the primary monitor in >= 2 monitor systems. All backends except the
    LWJGL3 backend will report only the primary monitor.

  • API Addition: Graphics#getMonitors() returns all monitors connected to the system. All
    backends except the LWJGL3 backend will only report the primary monitor.

  • API Addition: Graphics#getDisplayMode(Monitor) returns the display mode of the monitor
    the app's window is shown on. All backends except the LWJGL3 backend will report the
    primary monitor display mode instead of the actual monitor's display mode. Not a problem
    as all other backends run on systems with only a single monitor so far (primary monitor).

  • Added option to include credentials on cross-origin http requests (used only for GWT backend).

  • Added option to specify crossorigin attribute when loading images with AssetDownloader (GWT), see #3216.

  • API Change: removed Sound#setPriority, this was only implemented for the Android backend. However, Android itself never honoured priority settings.

  • API Change: cursor API has been cleaned up. To create a custom cursor, call Graphics#newCursor(), to set the custom cursor call Graphics#setCursor(), to set a system cursor call Graphics#setSystemCursor(). The Cursor#setSystemCursor method has been removed as that was not the
    right place. Note that cursors only work on the LWJGL, LWJGL3 and GWT backends. Note that system cursors only fully work on LWJGL3 as the other two backends lack a means to set a specific system cursor. These backends fall back to displaying an arrow cursor when setting any system cursor.

  • API Addition: Added Lwjgl3WindowListener, allows you to hook into per-window iconficiation, focus and close events. Also allows you to prevent closing the window when a close event arrives.

下载:https://github.com/libgdx/libgdx/archive/1.8.0.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是什么:

一个作为引擎和游戏基础的高性能,跨平台的游戏开发框架。这个框架允许我们我们专注于基础而不是游戏引擎的新的特性。它具有很棒的灵活性。



历史版本 :
libGDX 1.9.8 发布,开源跨平台游戏开发框架
libGDX 1.9.7 发布,开源跨平台游戏开发框架
Libgdx 1.9.6 发布,开源跨平台游戏开发框架
Libgdx 1.9.5 发布,开源跨平台游戏开发框架
Libgdx 1.9.4 发布,开源跨平台游戏开发框架   
Libgdx 1.9.3 发布,开源跨平台游戏开发框架
Libgdx 1.9.2 发布,开源跨平台游戏开发框架
libgdx 1.9 发布,跨平台开发框架
Libgdx 1.8.0 发布,跨平台游戏开发框架
Libgdx 1.7.2 发布,跨平台开发框架
Libgdx 1.7.1 发布,跨平台开发框架
Libgdx 1.7.0 发布,更新 RoboVM/支持 iOS 9
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务