2014-10-29 24 views
0

我被困在Unity2D中使用C#的非常簡單的代碼行。我只是想訪問從不同的腳本生成的隨機數。如何從不同的腳本使用Random.Range()訪問隨機數?

//Script A 
void Start(){ 
    int rand; 
    rand = Random.Range(0,4); 
    myString1 = myArray[rand]; 
} 

//Script B 
public ScriptA obj; 
public string[] myString2; 
public string nj; 
void Start(){ 
    myString2 = new string[] { 
     "A" , 
     "B", 
     "C", 
     "D" 
    }; 
    nj = myString2[obj.rand]; 
    guiText.text = nj; 
} 

一切都運行得很好,我GUIText表演,我隨機沒有在腳本一個完全生成的,但是當我沒有訪問它在腳本B,它返回0只,即只有A,即使隨機生成的數字是2或3,它在GUIText中打印A.

相信我,我只是在我的項目中排序的問題,但它仍然不表現我想成爲的樣子。

我的意思是認真的,GUIText只顯示A,我需要A,B,C & D隨機.. Plz任何人都可以幫助我這些..!

回答

0

變量蘭特只能在本地訪問空隙start()方法用於腳本A

在腳本A試試這個

public int rand {get; set;} 
void Start(){ 
    rand = Random.Range(0,4); 
    myString1 = myArray[rand]; 
} 
+0

它不工作.. !! – 2014-10-30 08:00:49