【发布时间】:2017-05-29 17:08:09
【问题描述】:
我正在开发一款使用 gRPC 协议与后端通信的在线游戏。有适用于 iOS、Android 和 JavaScript 的 gRPC 客户端库。
计划是使用 Haxe 实现游戏逻辑和渲染,但使用带有 gRPC 的本机代码进行联网。推荐的方法是什么?我可以看到 2 个选项:
使用 Haxe 实现和构建游戏,将一些方法暴露给原生,例如一种使用服务器数据更新游戏状态的方法,还接受来自本机的一些回调,例如每次玩家做出应发送到服务器的动作时调用的回调。然后可以使用 Xcode 等原生工具在 Haxe 生成的原生项目中实现回调和适当的方法调用。
使用 Xcode 等原生工具实现网络,并以某种方式将它们暴露给 Haxe。然后用Haxe编写的游戏逻辑会调用native方法,并将用Haxe实现的回调提供给native。
推荐的方法是什么?在我看来,第一种方法可能更简单,潜在问题更少。如果您还可以向我指出一些有关此的文章,那就太好了,因为我还没有找到足够详细的内容。
【问题讨论】:
-
你知道externs吗?
-
是的,我看到了。问题是它的文档记录很差。虽然 JS 目标有一些文档,但 C++、Java 或 Obj-C 几乎没有或根本没有。你知道更好的信息来源吗?
-
请贴上你尝试实现的extern,也可以看更多实际例子code.haxe.org/category/abstract-types/…
-
我不确定抽象类型是如何连接到互操作的。我的问题与特定代码无关,我没有任何要粘贴的内容。我一直在寻找一般性建议 - 是编写大量 externs 并在 Haxe 中使用它们更好,还是公开 Haxe 代码并从本地语言中使用它更好。
-
在动态语言中,externs 是首选,因为 haxe 的类型系统和编译错误。在严格的语言中,我认为这对你来说是舒适的。
标签: interop haxe haxeflixel