В момента разработвам в XNA/C#. Когато потребителят натисне клавиш (Keys.Right
), трябва да преместя обект. Искам това да се случи
- когато потребителят натисне клавиша
- след 1 секунда, докато потребителят държи ключа и след това на всеки .25 секунди.
Вече внедрих първия:
_kbOld = _kbNew;
_kbNew = _kb.GetState();
if(_kbNew.IsKeyDown(Keys.Right) &&
_kbOld.IsKeyUp(Keys.Right))
{
//Do something
}
Как бих изпълнил другите действия? Имах следните идеи:
A
Queue<KeyboardState>
, следене на последнитеKeyboardState
sЗапазване на времето, когато клавишът е натиснат последно и кога е бил освободен (
GameTime
)
Трябва да работи като въвеждане на текст в Windows: Когато задържите буква, тя ще се повтори след определен период от време.
Кой начин да използвам? Имате ли други идеи?
Благодаря предварително!