![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Обычно в этом случае принято завести массив, описывающий состояние всех интересующих клавиш клавиатуры, и заполнять его, отслеживая как нажатия, так и отпускания клавиш.
И именно по состоянию этого массива принимать решение на перемещение. Можно либо осуществить такую обработку в своей программе, либо воспользоваться DirectX, где такой алгоритм уже реализован. |
![]() |
![]() |
![]() |
#12 | |||
Пользователь
Регистрация: 18.04.2012
Сообщений: 17
|
![]() Цитата:
Цитата:
Цитата:
ваш способ почти работает. нажимаю комбинацию клавиш - всё прекрасно работает. если сразу нажимаю другую комбинацию - реагирует неправильно. исследовав природу это, я пришёл к выводу, что нажав нужную комбинацию клавиш, нужно ещё раз нажать ещё раз эту комбинацию для того, чтобы правильно работала другая комбинация. Очень неудобно. Можно как нибудь улучшить? |
|||
![]() |
![]() |
![]() |
#13 | |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]() Цитата:
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 18.04.2012
Сообщений: 17
|
![]() |
![]() |
![]() |
![]() |
#15 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
это я текст вывожу в лейбл
Вот вы координаты меняете если нажато вверх и влево А я текст просто вывожу!
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
![]() |
![]() |
![]() |
#16 | |
Пользователь
Регистрация: 18.04.2012
Сообщений: 17
|
![]() Цитата:
не работает(. Внизу код, может что не так написал. Код:
|
|
![]() |
![]() |
![]() |
#17 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
не надо скидывать Old_Key в таймере!
А только 1 раз и в начале программы как я написал в onCreate и смысл таков, что по моему коду у вас не будет одновременного нажатия как такового А работать будет примерно так вы нажали на верх В Old_Key сохраниться это значение после чего всё можно обработать А когда вы не отпуская кнопки вверх нажмёте влево То в Old_Key отсанется код клавиши на верх и + в key будет лежать код влево и таким образом можно будет обработать зажатые как бе две клавиши! А при отпускании одной из кнопок Old_Key сброситься в 0! + ко всему Вам в onKeyDown вам надо сделать обработку по принципу если Old_Key = 0 тогда обрабатываем вверх вниз влево вправо иначе если там Уже есть код какойто стрелки Тогда обрабатываем вверх и влево, вверх и вправо, ВНИЗ и влево, вниз и вправо Взависимости от того чё мы там нажали
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 Последний раз редактировалось Hacker19_90; 08.05.2012 в 17:12. |
![]() |
![]() |
![]() |
#18 | |
Пользователь
Регистрация: 18.04.2012
Сообщений: 17
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#19 |
мальчик-помогай =)
Форумчанин
Регистрация: 16.09.2010
Сообщений: 522
|
![]()
вот за что я люблю программирование, так это за необьятные, прямо таки вселенского масштаба, просторы для самых диких и аморальных извращений! причём на вопрос "а зачем такое городить?" ответят "так приятно... тьфу, так работает же!" и попробуй тут переубеди человека =)
сорри за оффтоп |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
одновременное нажатие | glebast | Общие вопросы Delphi | 2 | 30.04.2012 13:59 |
[Qt] Одновременное нажатие клавиш | Voltrex | Помощь студентам | 1 | 20.05.2011 22:06 |
Одновременное нажатие N клавишь | tanas | Win Api | 1 | 23.06.2010 13:06 |
одновременное нажатие клавиш | DeDoK | Общие вопросы Delphi | 3 | 08.01.2010 16:59 |
Одновременное нажатие клавиш. | Вадим Буренков | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 11 | 08.04.2009 18:17 |