您的位置:首页 > Web前端 > HTML

libgdx部署到html

2015-06-24 16:55 513 查看
libgdx我一直都是用desktop测试,在android上运行发布。突然想运行在网页上看看,没学过GWT,所以有点坎坷。下面说一下成功的流程以及我中间遇到的问题。

libgdx html部署:

libgdx项目的创建不用说了吧。我用的IDE是eclipse for javaee,装了GWT插件,GWT SDK用的2.5.0。在chrome浏览器上运行。

eclipse装GWT教程:http://www.gwtproject.org/download.html。插件要选对版本。我下离线安装包的。

然后跟着这个教程走:http://www.badlogicgames.com/wordpress/?p=3073。我挑重点的说一下。

用setup-ui创建完项目是这样的:



(你创建完项目也许html的lib会有个x,拷贝gwt-servlet.jar进去就行,在你的GWT SDK找)

这时候你直接运行html项目或GWT编译会出现linker的错误,需要做一些工作。

首先修改GWT的module也就是GWTDefinition.gwt.xml。改成这样:

<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
<inherits name='MyGdxGame' />

<add-linker name="xsiframe"/>
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>

<entry-point class='com.me.mygdxgame.client.GwtLauncher' />
<set-configuration-property name="gdx.assetpath" value="../my-gdx-game-android/assets" />
</module>

再添加2个脚本文件到WEB-INF下。



修改Index.html:在head里添加这2行就行了,注意要按顺序。

<script src="soundmanager2-setup.js"></script>

<script src="soundmanager2-jsmin.js"></script>

至此对项目的修改成功,下面配置运行的一些东西:

设置code server(将java代码转成javascript并上传到游戏服务器上的服务器。),我们项目创建完,是默认启动这个com.google.gwt.dev.DevMode入口类来调试运行我们的html游戏,但运行这个之前需要确保java已经完成javascript相关编译,所以要修改一下入口类,修改成代码转换的服务器。com.google.gwt.dev.codeserver.CodeServer。



修改运行参数,因为要让CodeServer知道你的源项目地址,GWT模型它才能在后台帮你编译。



贴上codeServer这个入口类的参数要求:

where
-noprecompile  Disables pre-compilation of modules.
-bindAddress   The ip address of the code server. Defaults to 127.0.0.1.
-port          The port where the code server will run.
-workDir       The root of the directory tree where the code server willwrite compiler output. If not supplied, a temporary directorywill be used.
-src           A directory containing GWT source to be prepended to the classpath for compiling.
and
module         The GWT modules that the code server should compile. (Example: com.example.MyApp)
必需的参数:-src:供编译的代码地址。module:GWT模型文件名字。

把core项目和html项目的代码以及库的地址都写进去。GWT直接填包名+GWTDefinition。改完ok,运行。



点击那个地址:



代码转换服务器在后台运行了(先不要关掉这个页面),你的代码编译也已经完成。

接下来是运行游戏的设置了,改回入口类为com.google.gwt.dev.DevMode,点击Run As -> Web Application,然后再Develoment Mode面板中双击给的URL,就能打开浏览器运行游戏了。要设置用哪个浏览器打开,在那个URL右键自己设置就行了,推荐谷歌浏览器。可能第一次有点问题会出现下面这样的:



点击OK,回到代码编译服务器页面,点击compile。



然后你的游戏页面就正常了。

可能会出现的问题:

JVM内存分配不足,修改运行的JVM参数。例如-Xmx1024m。

在浏览器上运行时提示装插件GWT Developer,我是在CSDN下载的这个插件,至于离线安装谷歌插件,要解决不是谷歌应用商店的插件不给开启以及版本问题。把crx后缀名改成zip,然后解压,修改里面的manifet.json,增加"manifest_version":2;以及修改background_page为background,(如果你谷歌浏览器版本是1的话就不用改)。然后再谷歌浏览器扩展程序设置中勾上开发者,添加插件,选择你解压的文件夹,添加插件成功。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: