[英]Unity Random.Range returns multiple integers
我正在創建一個 Unity 3D 游戲,我想在運行時從所有標記的玩家 GameObjects 中選擇 select。
我有一個Random.cs
腳本附加到適當的游戲對象/預制件上。 我創建了一個數組: GameObject[] players
,它接收所有帶有標簽的游戲對象: Player
。 然后,每次游戲開始時,我都會使用Random.Range
來“隨機” select 數組項之一。
玩家游戲對象在運行時由另一個腳本中的隨機數量生成。 但是這些游戲對象確實附加了這個Random.cs
腳本,所以也許它們只是相互復制?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Random : MonoBehaviour {
void Start() {
GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
int random = Random.Range(0, players.Length);
Debug.Log("The random player is #: " + random);
}
}
如果場景中有多個帶有隨機腳本的游戲對象。 Random 中的 Start() 將為每個附加了 Random 腳本的游戲對象調用一次。 每個游戲 object 在場景中都會創建一個 Random 的實例
一個想法可能是改為使用一個名為 GameManager 或其他東西的游戲對象,您可以將這個 Random 腳本附加到該游戲對象上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.