c# - .IsKeyDown(Keys keys) 不工作?

标签 c# xna

我是 C# 的新手(从 Web 开发领域转过来)。

无论如何,我正在制作一个简单的背景颜色更改程序,它接受用户的输入。我有三个颜色变量(我将其传入:backgroundColor = new Color(redIntensity, greenIntensity, blueIntensity);)

然后在 Update() 方法中我有这个:

        //[colorIntensity] = 0 then count up...when pressed
        //Changes background color
        KeyboardState keyState = new KeyboardState();

        if (keyState.IsKeyDown(Keys.R))
        {
            redIntensity++;
        }

以上代码无效!但是,如果我更改:

        if(keyState.IsKeyDown(Keys.R)) ...

收件人:

       if(keyState.IsKeyUp(Keys.R)) ...

工作正常...

那么,有什么建议吗?

编辑:我正在使用 XNA Framework。

最佳答案

您正在创建一个空的 KeyboardState 结构,因此它将始终显示所有键。

使用Keyboard.GetState 方法获取当前状态:

KeyboardState keyState = Keyboard.GetState();

关于c# - .IsKeyDown(Keys keys) 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23727374/

相关文章:

c# - 如何使这些 foreach 循环高效?

c# - 我应该使用什么游戏引擎?

c# - 如何将 3x2 矩阵转换为 4x4 矩阵?

c# - 将 SMO 应用程序部署到未安装 SQL Server 2008 的工作站

c# - AES 计数器模式 C# 等效

c# - 如何在 C# 中拆分文本并保持每个部分的位置

c# - 如何在 C# XNA 中调用析构函数

c# - DataContractSerializer - 命名空间问题

wcf - XNA : WP7 vs PC

C# 数学,碰撞检测,xna