我实际上是在学习c#中的一些代码来制作Unity5中的小游戏。 我的问题是,当我运行脚本时,统一控制台正在发送垃圾邮件"按下向上箭头"和"按下向下箭头"但我没有打任何东西。
void Update()
{
if (Input.GetKeyDown(KeyCode.UpArrow));
{
print("Up arrow pressed");
}
if (Input.GetKeyDown(KeyCode.DownArrow));
{
print("Down arrow pressed");
}
}
答案 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 ...
}
仍然是一个有效的构造,因为它定义了一个范围。