gpt4 book ai didi

c# - 检查是否激活多个游戏对象

转载 作者:行者123 更新时间:2023-12-05 04:19:35 26 4
gpt4 key购买 nike

我正在寻找一种方法来检查多个游戏对象(数字)和要显示的 5 个部分,每个部分都有 3 个数字,它们随机显示(所有部分都是 0),如果 O 在第 1 部分中处于事件状态,则不会在第 2 部分中显示 0, 3,4 和 5 再次随机化该部分中的另一个数字(2,3,4,5)这意味着我只想在场景中的一个部分(部分 1,2,3,4 或 5)和另一个部分中随机显示 0数以随机也。 enter image description here

我试过下面的代码,但我不知道我错过了什么,请帮忙

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);
}

}
}

最佳答案

不要检查所有五个部分你将 15 个对象检查到脚本中很难处理,创建脚本只检查随机之前的部分,然后创建另一个脚本以随机 0, enter image description here

[SerializeField] 
private List<GameObject> objects = new List<GameObject>();





public GameObject five;

void Start()
{
if( five.gameObject.activeSelf)
{

foreach (GameObject g in objects)
{
g.gameObject.SetActive(false);
}

}
else{
int randomlyActiveObject = UnityEngine.Random.Range(0, objects.Count);
for (int i = 0; i < objects.Count; i++)
{
objects[i].SetActive(i == randomlyActiveObject);
}
}


}
}

关于c# - 检查是否激活多个游戏对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74778558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com