我想用C#累计按键次数并输出,请问如下的代码问题出在哪里?该如何改进?

 void Update()
    {

        int n =0;
        if (Input.GetKeyDown(KeyCode.K))
        {
            n = n+1;
           
        }
        if (Input.GetKeyDown(KeyCode.L))
        {
            Debug.Log("n=" + n);
        }
            
       
    }

不论按多少次K键,按了L键之后,总是显示说n=0,请问是哪里出了问题?

 void Update()
    {

        int n =0; // 这里变量每次都初始化0 有问题
        if (Input.GetKeyDown(KeyCode.K))
        {
            n = n+1;
           
        }
        if (Input.GetKeyDown(KeyCode.L))
        {
            Debug.Log("n=" + n);
        }
            
       
    }

你应该用全局变量

C#的控件应该有对应的事件,在事件里面写n=n+1的代码并输出就行了。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y