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);