2014-01-25 108 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命令創建數以千計的遊戲對象。