【问题标题】:activate functions only when a bool is true?仅当布尔为真时才激活功能?
【发布时间】:2020-05-14 00:02:31
【问题描述】:

我希望当它变成布尔值时它变为假,条件在“如果”内指示它们取消。 我有这种情况,即使它是假的,浮点数仍然被布尔改变。

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】:
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) 将返回相同的内容,因为它是同一行代码。

【讨论】:

    【解决方案2】:

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

    x = b ? 3 : 2;
    

    【讨论】:

      猜你喜欢
      • 2020-10-06
      • 2017-06-25
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多