我正在寻找一种方法来检查多个游戏对象(数字)和5个部分显示,每个部分有3个数字,他们显示随机(0在所有部分中),如果O在部分1中有效,则不在部分2、3、4和5中再次显示0,而是随机化该部分中的其他数字(2,3,4,5)表示我只想在场景的一个部分随机显示0(部分1,2,3,4或5),另一个数字也随机显示。
我尝试了下面的代码,但我不知道我错过了什么,请帮助
private GameObject[] checkfirst;
[SerializeField]
private List < GameObject > objects = new List < GameObject > ();
public GameObject firstziro;
void Start()
{
foreach(GameObject go in checkfirst) {
if (go.activeSelf) {
firstziro.gameObject.SetActive(false);
int randomlyActiveObject = UnityEngine.Random.Range(0, objects.Count);
for (int i = 0; i < objects.Count; i++) {
objects[i].SetActive(i == randomlyActiveObject);
}
} else {
firstziro.gameObject.SetActive(true);
foreach(GameObject d in objects) {
d.gameObject.SetActive(false);
}
}
}
1条答案
按热度按时间hc8w905p1#
不要把所有五个部分都勾选你的勾选15个对象变成脚本很难处理,创建脚本前只勾选是段随机数,然后再创建另一个脚本来随机0,