6

したがって、unity は c#、JS、および Boo をサポートしていることがわかります。

私はこれらのいずれかを学ぶことができましたが、Ruby コードを記述して JS コードを出力するか、Unity コンパイラーが読み取ることができるレイヤーを作成できる「コンパイラー」または類似のものを作成したいと考えています。

これは可能性さえありますか。私はこれに何時間も投資し、かなりの経験を積むつもりです.

4

4 に答える 4

3

あなたの質問が実際に「Ruby を JavaScript にコンパイルするにはどうすればよいか」である場合は、その答えは簡単です。

Opal: Ruby から JavaScript へのコンパイラー

ただし、サポートされている言語のいずれかを学習する方がはるかに優れています。実行中のコードが別の言語で言い換えられている場合、「自分の」コードをデバッグするのは非常に困難です。

于 2014-01-25T12:52:26.690 に答える
2

私は C# にはあまり詳しくありませんが、C のようなものであれば、Ruby から Unity へのバインディングを作成して、それを直接使用できる可能性は十分にあります。おそらく、ある種のコミュニティを運営することさえできるでしょう。これは、言語の自動リファクタリングを試みるよりもはるかに望ましい方法です。

于 2014-08-29T14:07:12.923 に答える
1

Unity 3d は Javascript を使用しません。Unity Corporation はマーケティング目的で JavaScript と呼んでいると思います。Unity は Boo ベースの実装である UnityScript を使用しています。ソースはこちらhttps://github.com/bamboo/unityscriptで確認できます。

そのため、Opal などの ruby​​ から javascript へのコンパイラーを入手したとしても、それを UnityScript ではなく JavaScript にコンパイルします。それらの間には大きな違いがあります。

  1. JavaScript はプロトタイプ ベースの言語であり、UnityScript はクラス ベースの言語です。
  2. UnityScript は、Javascript よりも JScript.NET に近いものです。

http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScriptで詳細を参照してください。

完全なコンパイラーを作成するのではなく、Ruby 言語を統合する簡単な方法は、Unity が読み取れる CLR のバイトコードを生成する C# で作成された Ruby 実装である IronRuby を統合することだと思います。

IronPython ( https://github.com/cesardeazevedo/Unity3D-Python-Editor )を使用する python で同様のプロジェクトを実行しましたが、まだ非常に制限されているため、C# から python コードを呼び出す必要がありますが、動作し、シンプルな Python コマンドで何千ものゲーム オブジェクトを作成したい場合に、開発に役立つインタープリターです。

于 2015-09-06T20:11:34.290 に答える
1

「play my code」サイトをお勧めします。「Ruby を JavaScript にコンパイル」することで、Ruby ゲームを JS と同じようにブラウザ上で動作させることができます。

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

于 2014-10-12T06:00:36.990 に答える