所以我看到unity支持c#、JS和Boo。
我可以学习其中的一个,但我想制作一个“编译器”或类似的东西,让我编写 ruby 代码并输出 JS 代码或制作一个可由 Unity 编译器读取的层。
这还有可能吗。我愿意在这方面投入很多时间,并且有相当多的经验。
If your question is actually "how do I compile Ruby to JavaScript" then that's easier to answer:
Opal: Ruby to JavaScript compiler
However, you're going to be mucher better off learning one of the supported languages. It's very hard to debug "your" code when what's running is a paraphrasing of the code in another language.
我对 C# 不是很熟悉,但如果它与 C 类似,则很有可能您可以创建从 Ruby 到 Unity 的绑定并直接使用它。很可能你甚至可以建立某种社区。这比尝试自动重构语言要好得多。
我推荐“播放我的代码”网站。可以“将 Ruby 编译为 JavaScript”,在浏览器中操作 Ruby 游戏,就像 JS 一样。
Unity 3d 不使用 Javascript,我认为统一公司将其称为 javascript 只是出于营销目的,Unity 使用基于 Boo 的 UnityScript 实现,您可以在此处查看源代码https://github.com/bamboo/unityscript
所以,即使你有一些编译器 ruby 到 javascript,比如 Opal,你仍然会把它编译到 JavaScript 而不是 UnityScript,它们之间有很大的不同:
在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 命令创建数以千计的游戏对象,可以帮助您进行开发的解释器。