Unity3D中Random.seed属性解析

来源:互联网 发布:手机处理照片软件 编辑:程序博客网 时间:2024/06/05 14:10

9.1.3 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方法中打印出每次的随机数值,图9-2是程序在本机上每次输出的序列值。


本文章摘自图书《Unity API解析》,源码下载地址:http://www.ituring.com.cn/book/1474

0 0