我想从列表中随机选择两个项目。这些项目然后在场景中可见。问题在于,有时会选择在前一个循环中选择的那个。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