libGDX基础6 HTML输出


libGDX是一个跨平台的游戏库,支持Windows / Mac / Linux / Android / iOS / HTML输出。 Ingress中使用的名称识别也是适度的。

到目前为止,我已经写了

,但是我不仅输出了HTML。

这就是为什么它是额外的版本。介绍桌面版(对于Windows / Mac / Linux)和HTML版(WebGL是稳定版)的开发环境。

因为它是Gradle,所以我不选择环境,但是暂时我将使用NetBeans。

设置

还需要GWT设置,因此最好使用设置工具。

首先,让我们安装一个插件,以便Gradle与您使用的IDE一起使用。
在NetBeans中,转到"工具">"插件">"可用插件",然后检查" Gradle支持"以进行安装。 GWT4NB暂时不是必需的。由于它也在Gradle中执行。

从以下位置下载gdx-setup.jar。
http://libgdx.badlogicgames.com/download.html

下载并运行。如果关联完成,则可以双击它。如果不是,请键入以下命令以启动它。
> Java -jar gdx-setup.jar

然后将启动GUI工具。

20141009-01.png

在此处仅检查桌面和HTML。我将删除其余部分。
请正确输入通行证。

完成后,在NetBeans中打开项目,然后打开根项目。

之后,库等将自动下载,因此需要一些时间。一段时间后,子项目完成。

您可以看到

根目录下有3个核心,即桌面和html。
核心是不依赖于环境的游戏部分的代码。桌面和html将取决于环境,启动环境等将分别放置。

开发时,过程是使用核心进行开发,使用桌面确认执行,最后使用html确认,然后部署到Web服务器。

当您打开

子项目时,它将被添加到项目中。
它看起来应该像这样:

20141009-02.png

在桌面上运行

右键单击

桌面项目以打开菜单,然后选择运行。您也可以为gradle任务选择run。

20141009-03.png

执行结果如下。
20141009-04.png

在网络上调试执行

现在让我们在Web上,即在浏览器中进行检查。

现在,选择html项目superDev的gradle任务。

20141009-05.png

执行

并启动服务器后,在浏览器中将其打开,如下所示。

20141009-06.png

屏幕有点小。桌面版本的默认大小为640x480。

网络版本似乎为480x320。因此,更改html项目的启动部分的代码。

有一个名为HtmlLauncher的类,您可以在此处看到它指定大小(480,320)。

20141009-07.png

在此处更改源之后,单击刚打开的浏览器左上方的按钮。

20141009-08.png

将出现一个名为

Compile的项目,因此单击它。它将重新加载并显示。

20141009-09.png

它已经成长了。

生成要部署到Web服务器的内容

这是用于调试。我想将其部署到Web服务器(例如Apache)。

在这种情况下,请执行html项目的名为dist的任务。

20141009-10.png

编译完成后,将在build / dist文件夹中部署文件。

20141009-11.png

部署到JavaEE容器以外的容器时,删除WEB-INF文件夹。另外,删除index.html左上方的开发按钮,例如将其隐藏。

现在,您拥有一个适用于浏览器的批准方式。

你为什么至今没有介绍

GWT用于HTML转换功能。由于libGDX是跨平台的,因此实现部分可以很好地分开,但是用户的代码并不是那么容易。这是因为GWT具有比Android和RoboVM窄得多的Java API支持。我什至没有printf。

另外,如果将JAR喂入JavaSE,Android和RoboVM,它们将被转换并在未经许可的情况下工作。您几乎可以按原样使用现有库。但是GWT却没有。来源也必须是公开可用的。 Javascript不是从类文件生成的,只是Java源代码的一种转换(尽管它与超老设计兼容)。

尽管

几乎是使用WebGL函数绘制的,但HTML代码根本没有混入用户代码中,几乎只使用了libGDX API,并且Windows / Mac / Linux版本相同的代码可以正常工作,因此用户不需要意识到这一点。您要做的就是找出是否可以正确转换的部分(尽管可能会在您无法转换的时候发生)。

因为它是

,所以我认为最好使用libGDX提供的集合。您也应该在Android和iOS上积极使用它们。就性能而言,它比使用ArrayList等有效得多,并且有些方法在游戏开发等中实际上是有用的。

libGDX的HTML版本使用GWT,但是代码不包含GWT或HTML代码。因此,GWT是一个黑匣子,它用作将Java变成JS的机器。很好,没有将应用程序置于GWT或HTML中的事情。该库有点痛苦,但它可以与基本台式机和智能手机完全相同。

libGDX使用桌面版本,该桌面版本在开发过程中立即启动,因此与HTML版本的JS转换相关的时间减少不是问题。因此,能够迅速发展是有吸引力的。我什至不使用SuperDev模式进行GWT的快速调试。

让我们使用libGDX将相同的代码输出到各种环境,例如PC,智能手机和浏览器!