【问题标题】:How can access the random numbers using Random.Range( ) from different script?如何使用来自不同脚本的 Random.Range( ) 访问随机数?
【发布时间】:2014-12-25 13:43:00
【问题描述】:

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

//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.. 请任何人帮我解决这些..!!

【问题讨论】:

    标签: arrays random unityscript


    【解决方案1】:

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

    在脚本 A 中试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-16
      • 2011-08-12
      • 2021-03-02
      • 2021-11-24
      • 2012-12-07
      • 2021-10-19
      • 1970-01-01
      相关资源
      最近更新 更多