只有当一个bool为真时才激活函数?

问题描述 投票:0回答:1

我希望当它变成一个bool时,它变成false的条件在 "if "里面表示他们取消.我有这样的情况,即使当它是false时,浮点数仍然被bool改变。

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

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

难道没有一种方法来断言X到它的原始值,而不加X=2到b=false...?

c# unity3d events boolean
1个回答
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)会返回同样的东西,因为是同一行代码。


0
投票

如果你的意思是这样的话,你可以使用三元操作符来简化一些内容。

x = b ? 3 : 2;
© www.soinside.com 2019 - 2024. All rights reserved.