【问题标题】:Haxe and native interopHaxe 和本机互操作
【发布时间】:2017-05-29 17:08:09
【问题描述】:

我正在开发一款使用 gRPC 协议与后端通信的在线游戏。有适用于 iOS、Android 和 JavaScript 的 gRPC 客户端库。

计划是使用 Haxe 实现游戏逻辑和渲染,但使用带有 gRPC 的本机代码进行联网。推荐的方法是什么?我可以看到 2 个选项:

  1. 使用 Haxe 实现和构建游戏,将一些方法暴露给原生,例如一种使用服务器数据更新游戏状态的方法,还接受来自本机的一些回调,例如每次玩家做出应发送到服务器的动作时调用的回调。然后可以使用 Xcode 等原生工具在 Haxe 生成的原生项目中实现回调和适当的方法调用。

  2. 使用 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


【解决方案1】:

即使不完整,也许这些指南可以提供帮助:

https://github.com/snowkit/hxcpp-guide/tree/master/work-in-progress/build

或者作为一个例子:

https://snowkit.github.io/linc/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2010-12-17
    相关资源
    最近更新 更多