我正在尝试学习 XNA 游戏编程,并按照John Sonmez在 Pluralsight(一个 Pong 游戏克隆)上的教程进行操作。这是检测是否按下左/右键的代码,以便我们可以移动桨:
public override void Update(GameTime gameTime)
{
if (Keyboard.GetState().IsKeyDown(Keys.Left))
Velocity = new Vector2(0, -0.5f);
if (Keyboard.GetState().IsKeyDown(Keys.Right))
Velocity = new Vector2(0, 0.5f);
base.Update(gameTime);
}
这段代码有效,但是......Keyboard
状态似乎永远不会清除。也就是说,如果我按下左键或右键,即使只是快速敲击一次,那么桨叶就会一直移动,就像我按住键一样。我没有按住钥匙。我还刚刚“干净”地加载了这台 PC,所以几乎只有 Windows(它是 Windows 8,如果有区别的话)和 Visual Studio 和 Monogame 安装。所以没有竞争的钥匙处理程序或类似的东西。
有任何想法吗?