我有这个if
语句的代码。对我来说,看起来它编程正确,但if
语句的代码永远不会执行。我知道我的变量设置为true
,但它不起作用。
以下是带有if:
的Update函数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
,它就会起作用。
答案 0 :(得分:7)
两个if语句只提供一个true,因为'gameObject.name'值只会等于'Button 0'或'Button 2',除非它们至少运行两次同时满足'Button 0'和'Button 2'条件你将只有一个真值
答案 1 :(得分:2)
if语句在单次执行时都不会为true,因为按钮名称不能保存两个不同的值。
使用||而不是&&
void Update() { if (t0 || t2) { Debug.Log("Bingo"); Application.LoadLevel("Bingo"); } }