Unity3D中Random.seed属性解析

发表于2017-10-28
评论0 3.4k浏览

UnityEngine.Random.seed 属性:随机数种子

基本语法:public static intseed { get; set; }

功能说明:此属性用来设置随机数的种子。在计算机中产生随机数的方法有很多,但每种方法都需要一个种子,例如经典的伪随机数产生函数:f(x)=f(x-1)*a b,其中a、b为已知的固定数值,那么只要知道某个x对应的f值,就可以推算出所有的值。通常情况下会把f(0)当作随机数产生的种子,即只要知道了f(0)的值就可以推算出f(1)、f(2)…的值。总之,相同的Random.seed值对应着相同的随机数序列,如果不人为设定其值,Unity会根据某种算法自动产生一个种子。


实例演示:下面通过实例演示属性seed的使用。

using UnityEngine;  
using System.Collections;  
public class Seed_ts : MonoBehaviour  
{  
    void Start()  
    {  
        //设置随机数的种子  
        //不同的种子产生不同的随机数序列  
        //对于相同的种子,在程序每次启动时其序列是相同的  
        Random.seed = 1;  
    }  
    void Update()  
    {  
        Debug.Log(Random.value);  
    }  
}  

在这段代码中,首先在Start方法中设置了随机数的种子,然后在Update方法中打印出每次的随机数值。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引