我想從列表中隨機選擇兩個項目。這些項目然後在場景中可見。問題在於,有時會選擇在前一個循環中選擇的那個。2從一個列表中隨機選擇 - C#
如何排除第一個選擇?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BeamManager3 : MonoBehaviour {
public List<GameObject> LargeBeamObject = new List<GameObject>();
void Start() {
LargeBeamPlayerGenerator();
}
void LargeBeamPlayerGenerator(){
for (int i = 0; i < 2; i++){
int randomGameObject = Random.Range(0,4);
GameObject selectedGameObject = LargeBeamObject[randomGameObject];
MeshRenderer visible = selectedGameObject.GetComponent<MeshRenderer>();
visible.enabled = true;
}
}
}
當選擇第二,重試,如果它選擇相同。或者在選擇第二個選項之前從選項中刪除第一個選擇。這麼多可能性。 – CSharpie
從列表中刪除第一個選擇,然後再次選擇新的列表長度-1作爲Random.Range的第二個參數。這是Unity嗎,順便說一句?應該標記它,如果是的話。 –
這是重複的。 http://stackoverflow.com/questions/48087/select-n-random-elements-from-a-listt-in-c-sharp – msitt