【发布时间】:2020-05-08 09:15:06
【问题描述】:
我尝试编写一个脚本,如果场景中标记为“Light”的所有灯光同时处于活动状态,则游戏会继续进行。到目前为止,我找到的答案都没有帮助。我总是最终只扫描活动对象,只是随机跳出循环,或者在找到一个活动对象时停止。这是一段简单的代码,根据其他帖子应该可以工作
void Update()
{
bool allActive = false;
GameObject[] allLights = GameObject.FindGameObjectsWithTag("Light");
if(currenObjective > 0 && currenObjective < 3)
{
for (int i = 0; i < allLights.Length; i++)
{
if (allLights[i].activeInHierarchy)
{
allActive = true;
break;
}
}
if (allActive)
{
currentObjective = 2;
}
}
}
此代码只是在 one 灯打开时将 allActive 变量设置为 true。
【问题讨论】:
标签: c# visual-studio unity3d