簡體   English   中英

unity Random.Range 返回多個整數

[英]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);
    }
}

但是現在發生的情況是,不止一個數組: players數組項目被選中。 一個隨機的Debug.Log如下所示:

如果場景中有多個帶有隨機腳本的游戲對象。 Random 中的 Start() 將為每個附加了 Random 腳本的游戲對象調用一次。 每個游戲 object 在場景中都會創建一個 Random 的實例

一個想法可能是改為使用一個名為 GameManager 或其他東西的游戲對象,您可以將這個 Random 腳本附加到該游戲對象上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM