|
Вопрос # 49/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Я начал работать с 3D движком DGLEngine.
Делаю "строитель" сцен.
В общем мне нужна фишка такая: мне нужно из моей процедуры перехватить нажатие кнопки и если кнопка нажата, то сделать кое какое действие (например, нажимаю кнопку - рисуется шар).
Понимаю, вопрос не из разряда сложных. Просто ниразу конкретно этим не занимался.
_______________
С уважением, Евгений!
 |
Вопрос задал: Евгений В (статус: 1-ый класс)
Вопрос отправлен: 20 июня 2006, 20:36
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Виталий Лещенко
Слелай лучше так:
Объяви булевский массив keys от #0 до #255
В обработчике события OnKeyDown пометь нужную клавишу "нажатой". В OnKeyUp - "отпущенной".
Иогда ты в любой момент сможешь проверить нажата ли клавиша... сам так делаю в своем движке - работает на ура.
 |
Ответ отправил: Виталий Лещенко (статус: 4-ый класс)
Время отправки: 20 июня 2006, 22:42
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Knjazev
Как пример проверки, нажаты ли кнопки Ctrl и Alt:
if (getasynckeystate(vk_Control)<>0) and (getasynckeystate(vk_Menu)<>0) then
{что-то делаем}
 |
Ответ отправил: Knjazev (статус: 3-ий класс)
Время отправки: 20 июня 2006, 23:17
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 21 июня 2006, 18:52; участников в обсуждении: 1.
|
Виталий Лещенко (статус: 4-ый класс), 21 июня 2006, 18:52 [#1]:
У способа с использованием getasynckeystate
есть один недостаток... собственно вызов функции... это немного медленнее...
|
31 января 2011, 19:24: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|