|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Нажатие клавиши в XNA |
|
.NET - Нажатие клавиши в XNA
|
Старожил Сообщения: 160 |
Как я понял, в XNA нету обработчика события нажатия клавиши, а задача в том чтобы заданый код выполнялся один раз при нажатии клавиши.
Например если так То переменная i увеличится не на +1, а примерно на время залипания клавиши в милисекундах, но как правильным путем добиться нужного результата? Если bool click = false; /// Вне метода ///////////////////////// if (Keyboard.GetState().IsKeyDown(Keys.L) && !click) { click = true; ////Код который нужно выполнить, например i++; } if (Keyboard.GetState().IsKeyUp(Keys.L)) click = false; Но меня волнует то, что в таком случае будет много лишнего кода, и для каждой кнопки делать так будет неправильно. Попытка засунуть этот код в метод не дала результата, так как опять же для коректной работы нужно было для каждого вызова метода объявлять переменную которая отвечала за нажатие. Даже создание отдельного класса и написании переменной как член класса не дало результата. |
|
Отправлено: 00:21, 15-10-2012 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Сделайте сами обработчик IsKeyPressed
Создаете класс, там два массива bool Keys[256], OldKeys[256]. Сперва все false, при нажатии кнопки один элемент в массиве Keys становится true, OldKeys=Keys и на следующем заходе сравниваете, если Keys[i]!=OldKeys[i] значит кнопка была нажата или отпущена |
Отправлено: 05:38, 15-10-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Я, конечно, понимаю, что лет так на 6 опоздал, но всё же.
Мало ли кому пригодится, ибо с bool'ом это дело не работает. |
Последний раз редактировалось a1i1uyamax, 23-05-2018 в 07:30. Причина: Небольшое исправление. Отправлено: 07:10, 23-05-2018 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Передать нажатие клавиши в неактивное окно | HFShak | AutoIt | 1 | 05-09-2012 22:54 | |
Свернуть удаленный рабочий стол и передать нажатие клавиши | zuzu | AutoIt | 0 | 24-08-2012 17:51 | |
Нажатие на ссылку | wolkow70 | AutoIt | 3 | 30-04-2012 19:01 | |
CMD/BAT - Нажатие клавиши F5 через батник или cmd. | usbdrive | Скриптовые языки администрирования Windows | 1 | 22-10-2011 01:33 | |
Разное - Тачпад не реагирует на хлопки, как на нажатие левой клавиши мыши | Pasha219 | Ноутбуки | 1 | 24-03-2010 17:27 |
|