2014年5月7日 星期三

Unity3d 中如何取得其他 script 中的變數 (C#)

假設在unity3d 中有一script "disp.cs", 此 script 中有一變數 mystr, 而 disp.cs 掛在一個叫 dispstr的 prefab 物件上。如果今天有一個 control.cs 的程式要產生 dispstr的物件,而且要改變此物件上掛的 disp.cs 裡的 mystr 變數值,可以考慮以下程式片段:

private disp myscript1;
private GameObject mydigit1;

// Use this for initialization
void Start () {
       // 產生 dispstr 物件
mydigit1 = Instantiate (dispstr, new Vector3 (6.2f, 5.35f, -0.1f), Quaternion.identity) as GameObject;
       // 取得物件上的 disp script
myscript1 = mydigit1.transform.GetComponent<disp> ();

       //設定 script 裡的變數
                myscript1.mystring = "";

沒有留言:

張貼留言