【问题标题】:LibGDX - HTML5 runner, with networking?LibGDX - HTML5 跑步者,有网络?
【发布时间】:2019-02-08 15:43:07
【问题描述】:

我有一个使用LibGDX Engine 创建的 2D 游戏。 该游戏是为桌面创建的。

还为游戏开发了服务器。

我使用Netty.io networking library在服务器和客户端之间进行通信。

一切正常,但我想让没有安装 Java 的用户玩,我找到的解决方案是使用 LibGDX 提供的 HTML5 运行器。

但是如果我将它转换为 HTML5,我必须使用 websockets 为 HTML5 客户端重新做网络部分,并在服务器中添加对 websocket 连接的支持,对吗?

还有其他解决方案吗?

【问题讨论】:

  • 在部署游戏时,您可以使用工具 packr (github.com/libgdx/packr) 并在捆绑包中打包一个 open-jdk,以便每个人都可以玩。值得一读

标签: java html websocket libgdx netty


【解决方案1】:

在您链接的 Netty.io 网站上,我看到了对 Websockets 的支持,但没有 JS 实现。所以答案取决于是否有适用于 Netty.io 的 JS 实现(比如 Socket.io 有 Java 和 JS 客户端)。

如果 Netty 有 Java 和 JS 的实现,您必须将您使用的所有方法提取到您在核心项目中调用的接口。 Android 和桌面项目的接口实现将是您当前使用的 Java 实现,而对于 GWT 后端,您将使用对 JS 实现的 JSNI 调用。

例如,您可以查看我的使用游戏服务的 Github 项目:Google Play 游戏实现可用于 HTML、桌面和 Android,均针对相同的接口实现,并且 HTML 实现使用对 Google JS 库的 JSNI 调用: https://github.com/MrStahlfelge/gdx-gamesvcs/blob/master/html-gpgs/src/de/golfgl/gdxgamesvcs/GpgsClient.java

如果没有可用的 Netty.io 的 JS 实现,你将不得不自己做或切换到另一个网络层。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2021-08-10
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    相关资源
    最近更新 更多