2014-01-25 51 views
4

所以我看到团结支持c#,JS和Boo。用Ruby编程Unity游戏

我可以学习其中的一种,但我想编一个'编译器'或类似的东西,让我编写ruby代码并输出JS代码或创建一个Unity编译器可以读取的图层。

这甚至是一种可能性。我愿意投入很多时间在这方面,并有一定的经验。

回答

1

如果您的问题其实是“我怎么Ruby编译成JavaScript”那么这是比较容易回答:

Opal: Ruby to JavaScript compiler

但是,你要成为mucher更好的学习支持的语言之一。当运行什么是另一种语言的代码的解释时,调试“你的”代码是非常困难的。

+0

这确实是一个很好的观点。 – joncodo

+1

欧泊是一个很好的选择。目前我们已经取得了一些很大的成功,用于替换JS的某些应用程序,而且它的调试性能相当出人意料,更不用提可读性了。 – ylluminate

+0

欧泊不适用于Unity。 – Voldemort

0

我对C#并不熟悉,但如果它像C一样,那么很可能你可以创建从Ruby到Unity的绑定,并直接使用它。很可能你甚至可能会有某种社区。这对尝试使用自动重构语言来说更为可取。

0

团结3D不使用JavaScript,我认为统一公司称它是JavaScript只是出于营销目的,统一使用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的,这是一个Ruby实现C#编写的,这将产生CLR字节码团结可以阅读。

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