リストから2つのアイテムをランダムに選択しようとしています。これらの項目はシーン内で可視に設定されます。問題は、以前のループで選択されたものを選択することがあることです。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;
}
}
}
秒を選ぶとき、それは同じことを選ぶ場合、リトライ。または、最初のピックを選択肢から削除してから、2番目のピックを選択します。非常に多くの可能性があります。 – CSharpie
リストから最初のピックを削除し、新しいリストの長さ-1をRandom.Rangeの2番目のパラメータとして再度選択します。このユニティは、btwですか?もしそうなら、それにタグを付けるべきです。 –
これは複製です。 http://stackoverflow.com/questions/48087/select-n-random-elements-from-a-listt-in-c-sharp – msitt