我有这个代码与此if
声明。对我来说,它看起来像是编程正确,但if
语句的代码从不执行。我知道我的变量设置为true
,但它不起作用。如果声明正文不执行
这是与如果更新功能:
void Update()
{
if (t0 && t2)
{
Debug.Log("Bingo");
Application.LoadLevel("Bingo");
}
}
下面是设置变量为true代码:
if(gameObject.name.Equals("Button 0"))
{
t0 = true;
Debug.Log(gameObject.name);
}
if (gameObject.name.Equals("Button 2"))
{
t2 = true;
Debug.Log(gameObject.name);
}
我知道这些变量设置为true
,虽然它的奇怪,因为如果我从代码中的其他位置设置变量true
,它就可以工作。
我怀疑T0和T2正在由它得到您的Update()方法时设置不同。你在Update()方法中放置了一个断点来查看这些值是什么? –
它可能是一个竞争条件。是否有其他线程可能更新t0和/或t2? –
@Ahmedilyas更新函数每帧调用 – LukaxH