Unity3D_(API)Random隨機數


 

 

  Unity隨機數Random官方文檔:  傳送門

 

  一、生成一個隨機數

  二、Random.InitState()生成偽隨機數

  三、官方文檔中常用的方法

 

  創建一個Cube用來掛載Random_Gary.cs腳本

  整數類型:Random.Range(min,max):  返回一個隨機整數,在min(包含)和max(不包含)之間

  小數類型:Random.Range(minf,maxf)時,返回一個隨機浮點數,在minf(包含)和maxf(包含)之間。此時包括臨界值

 

一、生成一個隨機數

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Random_Gary : MonoBehaviour {

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        print(Random.Range(4,10));
    }
}
Random_Gary.cs

 

  

二、Random.InitState(0)生成偽隨機數

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Random_Gary : MonoBehaviour {

    // Use this for initialization
    void Start () {
        //設定一個種子
        Random.InitState(0);
    }
    
    // Update is called once per frame
    void Update () {
       if(Input.GetKeyDown(KeyCode.Space))
        {
            print(Random.Range(4,100));
        }
    }
}
Random_Gary.cs

 

  可以看出,場景中第一次生成了26、26、68、42、13,第二次重新加載場景時,依然是這幾個數,這就和在Start()函數中設置的隨機種子有關了

  要設置隨機種子可用  System.DateTime.Now.Ticks

  DataTime.Now.Ticks 的值表示自 0001 年 1 月 1 日午夜 12:00:00 以來所經歷的以 100 納秒為間隔的間隔數,可用於較精確的計時

  返回的是一個long類型,強轉為int類型

 

    //設定一個種子
        Random.InitState(0);
        //設置一個隨機種子
        Random.InitState((int)System.DateTime.Now.Ticks);

 

 

三、官方文檔中常用的方法

  Random.value:可隨機生成三種顏色  傳送門

  Random.state:可保存生成隨機序列的狀態  傳送門

  Random.rotation:可隨機得到游戲物體一個朝向得到一個四元數  傳送門

  Random.insideUnitCircle:可避免在同一個位置生成兩個敵人  傳送門

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM