【问题标题】:If all 3 conditions are true如果所有 3 个条件都为真
【发布时间】:2018-01-24 21:26:36
【问题描述】:

我有一个带有 3 个条件的 if 语句:

if (firstbool == false & Input.GetKeyDown ("space") & secondbool == false) {
        doSomething();
    }

我希望该程序仅在所有 3 个条件都为真时才执行某些操作。但是我不知道我应该使用哪个运算符。

【问题讨论】:

  • && 而不是 &
  • 另外,使用!firstBool 而不是firstBool == false
  • if (firstbool && Input.GetKeyDown ("space") && secondbool )
  • @Programmer - 你的意思是if (!firstbool && Input.GetKeyDown ("space") && !secondbool ) ?
  • 他可能的意思是他希望布尔值的状态为 false 为 true。

标签: c# if-statement unity3d operators


【解决方案1】:

要进一步了解 Devin Liu 的答案,您无需指定 firstbool == false 的完整语法。 如果您只是声明 bool 变量名称,则说明它是 true 或使用 !运算符来说明它实际上是假的相反。

//for all true
if(firstbool && Input.GetKeyDown ("space") && secondbool)

//or for false bools
if(!firstbool && !Input.GetKeyDown ("space") && !secondbool)

但是请注意,当玩家没有按空格键时,错误输入会反复执行,这可能不是您想要的。

希望对你有帮助

【讨论】:

    【解决方案2】:

    你的意思是这样的:

    if (firstbool == false && Input.GetKeyDown ("space") && secondbool == false)
    

    使用 && 运算符。

    【讨论】:

    • 为什么会有两个反对票?它告诉操作员他们想知道什么,肯定是对坏问题的回答,但回答不好......
    • 投了赞成票,因为它回答了问题。由于某种原因,它被否决了??
    • @SchwiftyMcSchwifulface 我认为投反对票是因为这个问题确实是 OP 应该在某处知道或学到的基本知识。此外,这个答案是在大约 30 分钟后出现的,这个问题已经在评论部分得到了回答。通过评论部分帮助OP的人并不愚蠢。即使是 Bigglesworth 的回答,也已在评论部分进行了讨论。这只是基本的回答。这是我的猜测。
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 2020-06-24
    • 2022-11-25
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多