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