Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 352
от 02.12.2006, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 394, Экспертов: 29
В номере:Вопросов: 1, Ответов: 2


Вопрос № 64316: Здравствуйте, уважаемые эксперты, подскажите, как обрабатывать нажатие срзу нескольких клавиш? Я пишу игру и необходимо, чтобы объект при зажатии клавиш влево и вверх двигался по диагонали....

Вопрос № 64.316
Здравствуйте, уважаемые эксперты, подскажите, как обрабатывать нажатие срзу нескольких клавиш?

Я пишу игру и необходимо, чтобы объект при зажатии клавиш влево и вверх двигался по диагонали.
Отправлен: 26.11.2006, 21:21
Вопрос задал: Svanshe (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ross
Здравствуйте, Svanshe!

Для этой цели можно использовать, например, функцию

SHORT GetAsyncKeyState(
int vKey // virtual-key code
);

которая возвращает состояние определенной клавиши на момент опроса. Простейший вариант использования - установить таймер и опрашивать состояние клавиш:
if (GetAsyncKeyState(VK_LEFT)) go_left();
if (GetAsyncKeyState(VK_DOWN)) go_down();
и т.д.
Ответ отправил: Ross (статус: 2-ой класс)
Ответ отправлен: 26.11.2006, 23:31

Отвечает: IceWolf
Здравствуйте, Svanshe!
Можно обрабатывать сообщения WM_KEYDOWN и WM_KEYUP. Для нажатия/отпускания каждой клавиши посылается своё сообщение.
С уважением, ICEW0|f.

Приложение:

---------
Идеальных защит не существует, ибо то, что создано человеческим разумом, им же будет и разрушено!

Ответ отправил: IceWolf (статус: 4-ый класс)
Ответ отправлен: 27.11.2006, 00:05


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное