if(Input.GetKeyDown(KeyCode.UpArrow)); - 统一控制台垃圾邮件

时间:2017-09-16 16:53:00

标签: c# console unity5

我实际上是在学习c#中的一些代码来制作Unity5中的小游戏。 我的问题是,当我运行脚本时,统一控制台正在发送垃圾邮件"按下向上箭头"和"按下向下箭头"但我没有打任何东西。

void Update()
{
    if (Input.GetKeyDown(KeyCode.UpArrow));
    {
        print("Up arrow pressed");
    }
    if (Input.GetKeyDown(KeyCode.DownArrow));
    {
        print("Down arrow pressed");
    }
}

2 个答案:

答案 0 :(得分:3)

这是“smpamming”,因为在每个;语句后你有if。这使得它成为一个空话:

{
    print("Up arrow pressed");
}

只是一个代码块,即使if语句为真,也会执行。 删除分号

void Update()
{
    if (Input.GetKeyDown(KeyCode.UpArrow))
    {
        print("Up arrow pressed");
    }
    if (Input.GetKeyDown(KeyCode.DownArrow))
    {
        print("Down arrow pressed");
    }
}

答案 1 :(得分:2)

if (Input.GetKeyDown(KeyCode.UpArrow));

删除;在末尾。 使用分号,您基本上可以描述if的执行块是空的。以下

{
    print ...
}

仍然是一个有效的构造,因为它定义了一个范围。

相关问题