Random

该类用于产生随机数据。

Class Variables 类变量
seed 设置用于随机数生成器的种子
value 返回一个随机数,在0.0(包括)~1.0(包括)之间。(只读)
insideUnitSphere 返回半径为1的球体内的一个随机点。(只读)
insideUnitCircle 返回半径为1的圆内的一个随机点。(只读)
onUnitSphere 返回半径为1的球体在表面上的一个随机点。(只读)
rotation 返回一个随机旋转角度。(只读)
state 获取/设置随机数生成器的完整内部状态
Class Functions 类函数
ColorHSV 从HSV和alpha范围生成一个随机颜色
InitState 用种子初始化随机数生成器的状态
Range 返回一个随机浮点数,在min(包含)和max(包含)之间。(只读)
void changeRandomValue() {
    string str = "";
    //生成0-9的整数随机数
    str += "Random.Range (0, 10):" + Random.Range (0, 10) + "\n";
    //生成0-5以内的随机浮点数(不包括5)
    str +=  "(Random.Range (0, 5.0f))" + (Random.Range (0, 5.0f)) + "\n";
    //生成以1为半径的圆内任意一点
    str += "Random.insideUnitCircle:" + Random.insideUnitCircle + "\n";
    //生成以1为半径的球体内任意一点
    str += "Random.insideUnitSphere:" + Random.insideUnitSphere + "\n";
    //生成以1为半径的球体表面任意一点
    str += "Random.onUnitSphere:" + Random.onUnitSphere + "\n";
    //返回一个0-1之间的随机小数
    str += "Random.value:" + Random.value + "\n";
    //返回一个随机的角度
    str += "Random.rotation:" + Random.rotation + "\n";

    text = str;

    //生成一个随机的颜色
    gameObj.GetComponent<Renderer> ().material.color = Random.ColorHSV ();
}

一般计算机的随机数都是伪随机数,以一个真随机数(随机数种子)作为初始条件,然后用一定的算法不停迭代产生随机数。Unity产生随机数都是Random.Range方法产生出伪随机数,每次启动产生的随机数都不一样。

//如果每次设置的随机数种子都是固定的,则每一次生成的随机数序列都是一样的
Random.InitState (0);
//可以将时间戳作为动态改变的种子来生成不一样的随机数序列
Random.InitState ((int)System.DateTime.Now.Ticks);

results matching ""

    No results matching ""