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。改成这样:
再添加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这个入口类的参数要求:
把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的话就不用改)。然后再谷歌浏览器扩展程序设置中勾上开发者,添加插件,选择你解压的文件夹,添加插件成功。
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的话就不用改)。然后再谷歌浏览器扩展程序设置中勾上开发者,添加插件,选择你解压的文件夹,添加插件成功。
相关文章推荐
- HTML
- html等比例缩放图片
- html中<a>标记的href属性不能正确跳转
- MVC-HtmlHelper扩展
- 使用HTML辅助方法载入分部视图
- view如何从action中取得数据和 Html辅助方法
- Razor与HTML混合输出陷阱与技巧
- XML基础
- Html辅助方法
- HTML.ActionLink 和 Url.Action 的区别
- MVC HtmlHelper用法大全
- HTML中使背景图片自适应浏览器大小
- html meta标签详解
- html form表单提交数据并后台获取
- html背景音乐
- Spring MVC + handlebars +freemarker 返回html 代码,但是被放html注入而显示字符。
- html树形菜单控件
- 如何让Flash不遮挡HTML div元素的技巧_HTML/Xhtml_网页制作
- 如何让Flash不遮挡HTML div元素的技巧_HTML/Xhtml_网页制作
- jenkins html report