Java --> libGdx 项目 --> Html --> gwt 异常 --> GWT 反射?
Java --> libGdx project --> Html --> gwt exception --> GWT reflection?
已编辑 #2
我使用 gradlew.bat html:dist
编译了我的 libGDX 项目,并得到了一个包含我所有资产、html.index 和其他文件的 dist 文件夹。
我将 dist 文件夹压缩并上传到 itch.io,
游戏加载正常,一切似乎都在正常运行。
但是关卡无法玩。尝试加载 Tiled Map:
时出现错误
但它作为可执行 .jar 文件和 android 应用程序工作正常。 html 版本似乎在从平铺地图加载对象时出现问题。
更新
我想我需要使用 reflection,但我不确定在这种情况下如何。
我认为是问题的代码:
for(MapObject object : map.getLayers().get(1).getObjects().getByType(RectangleMapObject.class)) {...}
通过将其添加到我的 GdxDefinition.gwt.xml 中,这是反映此对象的正确方法吗?
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.maps.objects.RectangleMapObject" />
此外,*.gwt.xml 中的这一行表示:"URI not registered"
<!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">
更新
我刚刚添加了扩展配置 属性 并且有效!尽管 "URI not registered" 错误。
几分钟前,我成功地将 libGDX 游戏上传到 itch.io。我建议您将游戏上传为 HTML5 生成的项目。确保上传根路径中带有 index.html
的 ZIP。也许检查是否可以 运行 您的游戏 locally/on 网络服务器。
考虑发布您的 html/build.gradle 文件或构建输出以获得进一步帮助。
编辑 1 无法在 itch.io 上传:
只需压缩您的 dist 文件夹,以便您有 dist.zip 文件用于上传。
在您的游戏页面中有项目类型选择菜单。 Select HTML 不是该菜单中的 java 小程序。
在上传部分使用 上传文件 按钮上传您的压缩文件。
等待上传,然后保存您的游戏页面并查看。
希望您在浏览器上玩游戏。
谢谢
编辑2
想要删除刷新按钮??
打开你的 index.html 并删除这一行,它会删除你的刷新按钮
<a class="superdev" href="javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7B'server_url'%3A'http%3A%2F%2Flocalhost%3A9876%2F'%7D%3B%20var%20s%20%3D%20document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2Flocalhost%3A9876%2Fdev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D">↻</a>
无法将 Tiled Map 加载到 GWT 中?
您正在使用 CSV,使用 Base64(未压缩)作为平铺层格式。
需要使用reflection:
刚刚将此添加到我的 GdxDefinition.gwt.xml:
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.maps.objects.RectangleMapObject" />
已编辑 #2
我使用 gradlew.bat html:dist
编译了我的 libGDX 项目,并得到了一个包含我所有资产、html.index 和其他文件的 dist 文件夹。
我将 dist 文件夹压缩并上传到 itch.io,
游戏加载正常,一切似乎都在正常运行。
但是关卡无法玩。尝试加载 Tiled Map:
时出现错误但它作为可执行 .jar 文件和 android 应用程序工作正常。 html 版本似乎在从平铺地图加载对象时出现问题。
更新
我想我需要使用 reflection,但我不确定在这种情况下如何。
我认为是问题的代码:
for(MapObject object : map.getLayers().get(1).getObjects().getByType(RectangleMapObject.class)) {...}
通过将其添加到我的 GdxDefinition.gwt.xml 中,这是反映此对象的正确方法吗?
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.maps.objects.RectangleMapObject" />
此外,*.gwt.xml 中的这一行表示:"URI not registered"
<!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">
更新
我刚刚添加了扩展配置 属性 并且有效!尽管 "URI not registered" 错误。
几分钟前,我成功地将 libGDX 游戏上传到 itch.io。我建议您将游戏上传为 HTML5 生成的项目。确保上传根路径中带有 index.html
的 ZIP。也许检查是否可以 运行 您的游戏 locally/on 网络服务器。
考虑发布您的 html/build.gradle 文件或构建输出以获得进一步帮助。
编辑 1 无法在 itch.io 上传:
只需压缩您的 dist 文件夹,以便您有 dist.zip 文件用于上传。
在您的游戏页面中有项目类型选择菜单。 Select HTML 不是该菜单中的 java 小程序。
在上传部分使用 上传文件 按钮上传您的压缩文件。 等待上传,然后保存您的游戏页面并查看。
希望您在浏览器上玩游戏。
谢谢
编辑2
想要删除刷新按钮??
打开你的 index.html 并删除这一行,它会删除你的刷新按钮
<a class="superdev" href="javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7B'server_url'%3A'http%3A%2F%2Flocalhost%3A9876%2F'%7D%3B%20var%20s%20%3D%20document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2Flocalhost%3A9876%2Fdev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D">↻</a>
无法将 Tiled Map 加载到 GWT 中?
您正在使用 CSV,使用 Base64(未压缩)作为平铺层格式。
需要使用reflection:
刚刚将此添加到我的 GdxDefinition.gwt.xml:
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.maps.objects.RectangleMapObject" />