如何使用不同脚本中的Random.Range()访问随机数?

时间:2014-10-29 17:50:30

标签: arrays random unityscript

我使用C#在Unity2D中使用这些非常简单的代码行。我只想访问从不同脚本生成的随机数。

//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显示,我的随机数在脚本A中完美生成,但是当我在脚本B中访问它时,它仅返回0即只有A,即使随机生成的数字是2或3 ,它在GUIText中打印A.

相信我,我只是在我的项目中对问题进行了排序,但它仍然没有按照我想要的方式运行。

我的意思是认真,GUIText只显示A,我需要A,B,C& D随机.. Plz有人帮我这些.. !!

1 个答案:

答案 0 :(得分:0)

变量rand只能在脚本A的void Start()中本地访问。

在脚本A中尝试此操作

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