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">&#8635;</a>

无法将 Tiled Map 加载到 GWT 中?

您正在使用 CSV,使用 Base64(未压缩)作为平铺层格式。

需要使用reflection:

刚刚将此添加到我的 GdxDefinition.gwt.xml:

 <extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.maps.objects.RectangleMapObject" />