【问题标题】:Programming Unity Games with Ruby使用 Ruby 编写 Unity 游戏
【发布时间】:2014-01-25 12:47:41
【问题描述】:

所以我看到unity已经支持c#、JS和Boo了。

我可以学习其中的一个,但我想制作一个“编译器”或类似的东西,让我可以编写 ruby​​ 代码并输出 JS 代码或制作一个可由 Unity 编译器读取的层。

这还有可能吗。我愿意在这方面投入大量时间并拥有相当多的经验。

【问题讨论】:

    标签: ruby unity3d opalrb


    【解决方案1】:

    如果您的问题实际上是“我如何将 Ruby 编译为 JavaScript”,那么这更容易回答:

    Opal: Ruby to JavaScript compiler

    但是,学习一种受支持的语言会更好。当运行的是另一种语言的代码释义时,很难调试“您的”代码。

    【讨论】:

    • 蛋白石是一个很好的选择。目前我们已经在一些应用程序替换 JS 方面取得了一些巨大的成功,而且它的可调试性相当惊人,更不用说可读性得到了很大改善。
    【解决方案2】:

    我对 C# 不是很熟悉,但如果它与 C 类似,则很有可能您可以创建从 Ruby 到 Unity 的绑定并直接使用它。很可能你甚至可以建立某种社区。这比尝试自动重构语言要好得多。

    【讨论】:

      【解决方案3】:

      我推荐“播放我的代码”网站。 可以“将Ruby编译成JavaScript”,在浏览器中操作Ruby Game,就像JS一样。

      http://www.playmycode.com/build/edit/6172

      【讨论】:

        【解决方案4】:

        Unity 3d 不使用 Javascript,我认为 unity 公司将其称为 javascript 只是出于营销目的,Unity 使用基于 Boo 的 UnityScript 实现,您可以在此处查看源代码https://github.com/bamboo/unityscript

        所以,即使你有一些编译器 ruby​​ 到 javascript,例如 Opal,你仍然会将它编译到 JavaScript 而不是 UnityScript,它们之间存在很大差异:

        1. Javascript 是一种基于原型的语言,而 UnityScript 是一种基于类的语言。
        2. UnityScript 比 Javascript 更像是 JScript.NET。

        http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript查看更多信息

        我认为集成 ruby​​ 语言而不是编写完整的编译器的简单方法是集成 IronRuby,这是一个用 C# 编写的 Ruby 实现,它将为 CLR 生成 Unity 可以读取的字节码。

        我用 python 做了一个类似的项目,它使用 IronPython (https://github.com/cesardeazevedo/Unity3D-Python-Editor),它仍然非常有限,所以你仍然需要从 C# 调用 python 代码,但是它可以工作,并且有一个解释器可以帮助你进行开发, 如果你想用简单的 python 命令创建数千个游戏对象。

        【讨论】:

          猜你喜欢
          • 2012-04-25
          • 2014-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-15
          • 1970-01-01
          相关资源
          最近更新 更多