他のスクリプトのpublic変数にアクセスする

「他のスクリプトのpublic変数にアクセスする」の編集履歴(バックアップ)一覧はこちら

他のスクリプトのpublic変数にアクセスする」(2015/04/27 (月) 17:15:42) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

InitというObjectにAddComponentで"Init"という名前のscriptを追加している public class Init : MonoBehaviour {  public int[,] map = new int[25,25]; } 別のObjectのスクリプトコンポーネント内から Init init; init = GameObject.Find("Init").GetComponent<Init>(); if( init.map[i,j]==1 )  score[i,j]=99;
InitというObjectにAddComponentで"Init"という名前のscriptを追加している public class Init : MonoBehaviour {  public int[,] map = new int[25,25]; } 別のObjectのスクリプトコンポーネント内から Init init; init = GameObject.Find("Init").GetComponent<Init>(); if( init.map[i,j]==1 )  score[i,j]=99; public class Test : MonoBehaviour { public static int no; } *staticが付くとclassのメンバ変数になる staticをつけると、別のクラスからのアクセスは、 Test.no=20; とGetComponent抜きでアクセスできる static変数は、インスタンスではなく、classに属するので、 Testのメンバ変数としてアクセスする 逆にいえばclass Testとして生成されたインスタンスは、 共通したメンバ変数noを継承する。 *static無いと、インスタンスのメンバ変数になる 一方、 public class Test : MonoBehaviour { public int no; } では、 staticがないので、クラスではなくインスタンスのメンバ変数になる。 別のクラスからのアクセスは、 obj.GetComponent<Test>().no=20; となる メンバ変数noは、インスタンス毎に区別される 参考 http://ufcpp.net/study/csharp/oo_static.html

表示オプション

横に並べて表示:
変化行の前後のみ表示: