如何等待下一次输入?

时间:2014-04-28 21:04:42

标签: c# input xna keyboard

我试图在C#中的游戏项目中实现一种方式,让用户可以更改用于移动角色的键(向上键,向左键和向右键)。我在选项菜单中创建了按钮,但是当我点击这些按钮时,我还在试图弄清楚要放入什么内容。我已经在论坛中查了一下,并没有找到任何真正有用且易于理解的东西......

我希望当我点击按钮定义例如Up按钮等待玩家将要进行的下一个输入时,但我还没找到一些东西,简单。

有人可以帮帮我吗?我希望我的问题是可以理解的。

2 个答案:

答案 0 :(得分:0)

这是完全未经测试的,但似乎它应该在我的脑海中起作用

KeyboardState有一个名为GetPressedKeys的方法,所以你需要做的就是检查你定义的键是否包含在这个列表中。

例如,(未经测试)

Key UserDefinedUpKey = Keys.Up;

//UpdateMethod...
var keys = currentKeyboardState.GetPressedKeys();
if(keys.Contains(UserDefinedUpKey))
//Up pressed

答案 1 :(得分:0)

就像Sayse所说,我会使用KeyboardState.GetPressedKeys()方法,他们将返回按下的键。我想你可以检查一下这是否为空(未经测试);

while(currentKeyboardState.GetPressedKeys() == null)

你可以创建一个屏幕(比如战场或CoD),然后按下#34;按键指定转发"。一旦用户按下某个键,您就可以存储该枚举。将枚举写入注册表或类似的东西。