我是新手。
我在这里遇到了一个非常奇怪的问题,我定义的文件只是在 Update() 函数中不断累加。
这是我的代码:
using UnityEngine;
using System.Collections;
public class MenuManager : MonoBehaviour {
private int counter = 0;
void Update ()
{
ShowSelectedMenuItem ();
}
private void ShowSelectedMenuItem() {
if (Input.GetAxisRaw ("Vertical") > 0.9) {
} else if (Input.GetAxisRaw ("Vertical") < - 0.9) {
Debug.Log("s Down");
counter=counter+1;
Debug.Log (string.Format("counter {0} ",counter));
Debug.Log("Finish s down");
}
}
}
我排除了这样的输出:s Down counter 1 Finish s down
但是,在日志中我得到: s Down counter 1 Finish s down counter 2 counter 3 counter 4 counter 5 counter 6 counter 7 counter 8
这真的很奇怪,无论我做什么,我都尝试了counter++,counter = (counter+1)。没有什么不同。在函数之后,计数器只是继续加起来 7 次,但是“s Down”和“Finish s down”从未出现过第二次。此脚本附加到空项目中的空对象。我的编辑器版本是4.5.4
任何帮助将不胜感激
最佳答案
通过将此更改添加到您的代码中,我得到了您想要的结果:
else if (Input.GetKeyDown(KeyCode.DownArrow))
{
Debug.Log("s Down");
counter=counter+1;
Debug.Log (string.Format("counter {0} ",counter));
Debug.Log("Finish s down");
}
结果:
关于c# - 变量在 Update() 中不断累加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331569/