Как реализовать цикл пока зажата опр. клавища?, C++/minGw |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Как реализовать цикл пока зажата опр. клавища?, C++/minGw |
Andrewshkovskii |
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: 0 |
Собственно сабж. Как-то через kbhit() и цикл while?
|
volvo |
Сообщение
#2
|
Гость |
Цитата Как-то через kbhit() и цикл while? Сомневаюсь, ты не сможешь точно распознать, когда клавиша отпущена, поскольку заполняется буфер, и по крайней мере надо будет ждать, пока буфер не освободится... А если он переполнится? Оно тебе надо? Я бы, например, делал через WinAPI функции:#include <windows.h> |
Andrewshkovskii |
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: 0 |
16-тиричные коды - коды клавиш ?
|
volvo |
Сообщение
#4
|
Гость |
Нет, признаки нажатия/отпускания... Если GetKeyState() & 0xFF00 равно нулю (т.е., если старший байт результата == 0) значит клавиша отпущена, иначе - нажата...
Поэтому при нажатии пробела первый цикл прекращается (GetKeyState() & 0xFF00 != 0), а при ее отпускании - прекращается второй цикл, результат AND-а опять нулевой... |
Текстовая версия | 29.04.2024 19:51 |