我是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。
答案 0 :(得分:8)
您正在创建一个空的KeyboardState
结构,因此它将始终显示所有键。
使用Keyboard.GetState
方法获取当前状态:
KeyboardState keyState = Keyboard.GetState();