|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.01.2012, 18:16 | #1 |
Пользователь
Регистрация: 21.09.2011
Сообщений: 35
|
Зацикливание при нажатии клавиши в DirectInput
Создал утройство клавиатуры. Теперь надо чтобы при нажатии клавиши у определенной переменной считывалось ее значение и присваивалось другое.
Но почему то пока нажата клавиша то происходит зацикливание этого нажатия, можно ли как-нибудь сделать чтобы при нажатии клавиши событие срабатывало только 1 раз? Код нажатия клавиши: private void ReadKeyboard() { Microsoft.DirectX.DirectInput.Keybo ardState keys = keyb.GetCurrentKeyboardState(); if (keys[Microsoft.DirectX.DirectInput.Key.E]) { if (Blocked == false) Blocked = true; else Blocked = false; } } |
14.01.2012, 19:28 | #2 |
Форумчанин
Регистрация: 12.06.2011
Сообщений: 115
|
Не учил ДиректИкс, но там должна быть ф-ция типа kbhit() в С++. Тогда будет так:
Код:
Men do it in ASCII!
|
14.01.2012, 19:42 | #3 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Считаю что такие вещи нужно уметь решать самостоятельно и не просить помощи.
Самое простое решение, это запоминать что клавиша была нажата или отпущена. Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Событие при нажатии клавиши. | werrey | Общие вопросы Delphi | 3 | 09.06.2011 21:33 |
Как в C# прервать работу цикла при нажатии клавиши | xata1988 | Общие вопросы .NET | 5 | 14.02.2011 14:48 |
Закрытие окна при нажатии опр. клавиши на клавиатуре. | Borgond | Общие вопросы Delphi | 6 | 25.08.2010 01:14 |
завершение цикла при нажатии клавиши | LLIyPI/IK | Общие вопросы C/C++ | 8 | 12.02.2010 13:29 |
Событие при нажатии клавиши Enter | Inbox | Общие вопросы Delphi | 4 | 12.06.2007 14:18 |