仅当布尔值是true时才激活功能吗?

时间:2020-05-14 00:02:31

标签: c# unity3d events boolean

我希望当它变成布尔值时变为假,条件表明“如果”它们被取消。 我遇到这样的情况,即使是错误的,浮子仍然会被bool改变。

float x = 2;
if (Input.GetKeyDown(KeyCode.LeftShift) b = true;
if (b == true) { x = 3);

if (Input.GetKeyUp(KeyCode.LeftShift) b = false;

没有一种方法可以在不将X = 2添加到b = false的情况下将X声明为其原始值。?

2 个答案:

答案 0 :(得分:0)

float x = 2f;
float xfall = 2f;

if(Input.GetKeyDown(KeyCode.LeftShift))
{
    b = true;
}
else if(Input.GetKeyUp(KeyCode.LeftShift))
{
    b = false;
    x = xfall;
}

if(b)
{
    x = 3f;
}

您的许多代码甚至都无法使用,下一次尝试使人们更清晰地阅读。

要注意的另一件事是您不必if(b == true)if(b)将返回相同的东西,因为它是同一行代码。

答案 1 :(得分:0)

如果这就是您的意思,您可以使用三元运算符来简化它

x = b ? 3 : 2;