LibGDX - 带有网络功能的 HTML5 运行程序?

8
我有一个2D游戏,使用LibGDX引擎创建。 该游戏是为桌面设备创建的。 还开发了游戏服务器。 我使用Netty.io网络库在服务器和客户端之间通信。
一切运作正常,但我想让没有安装Java的用户玩游戏,我找到的解决方案是使用LibGDX提供的HTML5运行器。
但如果我将其转换为HTML5,则必须使用Websockets重新制作HTML5客户端的网络部分,并在服务器中添加对Websocket连接的支持,这是正确的吗?
是否有其他解决方案?

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

3
在您提供的Netty.io网站上,我看到支持Websockets,但没有JS实现。所以答案取决于是否有可用于Netty.io的JS实现(就像Socket.io有Java和JS客户端一样)。
如果Netty既有Java实现又有JS实现,您需要将使用的所有方法提取到一个接口中,在核心项目中调用该接口。Android和Desktop项目的接口实现将是您当前使用的Java实现,而对于GWT后端,您将使用JSNI调用JS实现。
例如,您可以查看我的Github项目以使用游戏服务:Google Play Games实现可用于HTML、Desktop和Android,所有实现都针对同一接口实现,而HTML实现则使用JSNI调用Google的JS库:https://github.com/MrStahlfelge/gdx-gamesvcs/blob/master/html-gpgs/src/de/golfgl/gdxgamesvcs/GpgsClient.java 如果Netty.io没有JS实现可用,则必须自己完成或切换到另一个网络层。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接