2012年12月7日金曜日

Unity初心者が学ぶC#スクリプトとJavascriptの相互参照

前回記事に続いてUnity Gemsからの記事を翻訳する:


-------
http://unitygems.com/mistakes1/

October 15, 2012

C#スクリプトとJavascriptの相互参照


この参照を正しく行うためには、まず参照を一方向、例えばC#スクリプトからJavascriptをアクセスするまたはその逆方向、に限定する必要がある。二つのクラスが、それぞれ異なる言語で記述されていて、かつ二方向に参照させることは出来ない。

プロジェクトを記述する言語を一つ選ぶこと。もしサードパーティのコンポーネントの場合に完全に独立したものを使用する場合、一番最初にコンパイルされる特別なフォルダにこれらのスクリプトを置く、すなわちStandard Assetsフォルダ、Pro Standard Assetsフォルダ、 またはPluginsフォルダに置いて、かつ参照する側のスクリプトをこれらのフォルダには置かないようにすれば、どの言語で記述されていようとも問題ない。

JavascriptとC#は同じアセンブリにコンパイルされないので、単純に互いに参照させることは出来ない。Plugins、Standard Assets、Pro Standard Assetsフォルダに置いてあるコードは最初にコンパイルされ、逆にこのコードに置かれていないコードは、フォルダに置いてあるコードとスクリプトで定義されたクラスを参照出来ることになる。

このようにしてStandard Assets、Pro Standard Assets、 またはPluginsフォルダ(またはさらに子フォルダ)C#スクリプトにJavascriptを置くことで、C#のコードにJavascriptクラスを参照することが出来る。覚えておくべきこととして、これら特別なフォルダに置かれたJavascriptは、それ以外のフォルダにあるC#を参照することは出来ないし、そのC#とJavascriptが逆の場合もまた然りである。これがプロジェクトで言語を混ぜるべきでない理由です。もし参照しないといけない事態に陥った場合に参照する方法がなくなってしまう。

Unityはスクリプトのコンパイル順序に関するドキュメントをここに置いている。
---------

うんうん、今回の記事もさして難易度が高いものではなく、普段アセットストアからスクリプトをダウンロードしている方はご存知のこととおもう。

そこにチャレンジしたい方は以下のブログ記事を参考にすると良いと思う:

テラシュールウェア:スクリプトの実行順序を変更する
http://terasur.blog.fc2.com/blog-entry-161.html

Unityの基本を積み重ねようぜ!

0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿

ブログ アーカイブ