我目前正在使用 XNA/C# 进行开发。当用户按下一个键 ( Keys.Right
) 时,我需要移动一个对象。我希望这发生
- 当用户按键时
- 1 秒后,用户按住键,然后每 0.25 秒。
我已经实现了第一个:
_kbOld = _kbNew;
_kbNew = _kb.GetState();
if(_kbNew.IsKeyDown(Keys.Right) &&
_kbOld.IsKeyUp(Keys.Right))
{
//Do something
}
我将如何执行其他操作?我有以下想法:
A
Queue<KeyboardState>
, 跟踪最后KeyboardState
的 s保存最后一次按下按键和松开按键的时间 (
GameTime
)
它应该像 Windows 中的文本输入一样工作:当你拿着一个字母时,它会在一定时间后重复。
我应该使用哪种方式?你有其他想法吗?
提前致谢!