libgdx:[19]在支持webGL的浏览器中运行

libgdx:[19]在支持webGL的浏览器中运行

本篇介绍如何在支持webGL的浏览器中运行 示例程序.

WebGL程序的开始类叫做:GwtLauncher.java

下面的代码列表是来自demo-html的代码:

package com.packtpub.libgdx.demo.client;import com.packtpub.libgdx.demo.MyDemo;import com.badlogic.gdx.ApplicationListener;import com.badlogic.gdx.backends.gwt.GwtApplication;import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration;public class GwtLauncher extends GwtApplication {@Overridepublic GwtApplicationConfiguration getConfig () {GwtApplicationConfiguration cfg =new GwtApplicationConfiguration(800, 480);return cfg;}@Overridepublic ApplicationListener getApplicationListener () {return new MyDemo();}}

在前面的代码列表中你看到GwtLauncher class继承自GwtApplication类.

Libgdx封装了GWT并且只要求你实现两个抽象方法,getConfig() 和getApplicationListener().

getConfig()方法返回一个GwtApplicationConfiguration类的实例

在这种情况下窗口的宽和高直接传递给他的构造器.

getApplicationListener()方法返回一个实现ApplicationListener借口的类的实例,在前面的代码中 是MyDemo 类.

不像其他的平台,WebGL正常使用OpenGL ES 2.0.

另外,GWT 被组织起来制作成叫做模块的绑定在一起的配置设置.在这种情况下,我们只有一个模块叫做MyDemo.gwt.xml.它定义了一个GWT 查找Java资源文件的路径,com/packtpub/libgdx/demo. 这个资源文件将会被GWT交叉编译为最优的Java script 代码,可以在所有的主流浏览器中运行.

下面的代码列表是取自demo的MyDemo.gwt.xml

现在让我们来运行程序.右键单击项目浏览器中的demo-html 项目,Run As | WebApplication.一个新的选项卡标题Development Mode应会在底部打开.

简单的按照URL前面所描述的双击 URL ,然后你的默认的浏览器就会被打开.

然后试图加载寄宿在你的设备上的站点,这里URL指向127.0.0.1,这是你的当前设备的IPv4描述.

注意Eclipse 将会根据URL的提示以 调试 模式运行你的Web GL程序,这将会极其的缓慢.

移除URL后面的所有东西让你的程序以普通的模式运行,最终的URL 就像这样:

http://127.0.0.1:8888/index.html.

你应该为你的web浏览器 安装Google Web Toolkit Developer Plugin 插件来使用 development 模式.你需要在你的设备上安装它.

当你的插件成功安装以后你将会看到像下面一样的东西:

如果你要在一个真实的web服务器上运行你的程序并将他分享给其他的用户,你需要先编译你的项目.这是一个非常直截了当的过程.简单的右键单击 eclipse的项目浏览器的 demo-html 项目 导航到 google|GWT Compile.

一个 GWT Compile为标题的窗口被打开. 这里你可以选择一个信息中心的日志水平 就像 errors only. 保持默认设置并单击 Compile 开始编译进程.

这个编译进程跟本书中其他的比起来是最漫长的,它将花费 两分钟 来完成编译.

这将是对你的耐心的很好的锻炼.

当编译完成后,到demo-html项目的子文件

你现在可以上穿所有这个文件夹中的内容到 你的web 服务器,除了 WEB-INF文件,这个是不需要的.现在你或者其他任何人都可以在支持 WebGL的浏览器打开 这个URL ,到你的web服务器使用你的 跨平台的 Libgdx 程序,而不用安装任何的插件.