【发布时间】:2010-09-28 02:18:26
【问题描述】:
我今天刚开始使用 XNA Framework 4.0,我想知道从键盘获取输入最简单的方法是什么。我认识到 C# 中有很多 C++,但它的整个 Java 方面对我来说是陌生的。这与 XNA 相结合有点令人困惑,所以请具体并举例说明。谢谢。
【问题讨论】:
我今天刚开始使用 XNA Framework 4.0,我想知道从键盘获取输入最简单的方法是什么。我认识到 C# 中有很多 C++,但它的整个 Java 方面对我来说是陌生的。这与 XNA 相结合有点令人困惑,所以请具体并举例说明。谢谢。
【问题讨论】:
如果您习惯在 VS 中使用对象浏览器,我建议您查看 Microsoft.Xna.Framework.Input.Keyboard/Keyboardstate。这些条目将根据现成的功能向您展示您可以使用的功能。或者,您可以查看 MSDN 或按照 Creator's Club 上的教程进行操作。我将发布一个快速的 sn-p 来检查特定的击键。
currentState = Keyboard.GetState();
if(currentState.IsKeyDown(theKey) && previousState.IsKeyUp(theKey))
{
//Do something here
}
previousState = currentState;
theKey 是在此 sn-p 范围之外定义的参数。您可以将 theKey 设置为您希望在按下时触发某些特定程序行为的特定值(在上面片段中的注释位置)。 theKey 定义为:
Keys theKey
previousState 和 currentState 定义为:
private static KeyboardState currentState;
private static KeyboardState previousState;
虽然这样做可能不是最漂亮的方式,但它可以工作并且是一个相当简单的构建示例。希望对您有所帮助。
【讨论】: