Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
zuxa-zuxa
Мишка Косолапый :)
282 / 252 / 86
Регистрация: 15.02.2012
Сообщений: 1,509
Завершенные тесты: 1
1

Перенести управление стрелками на управление WASD

05.08.2013, 16:10. Просмотров 2002. Ответов 1
Метки нет (Все метки)

Мне нужно чтобы в игре вместо стрелок управление осуществлялось WASD и при этом сами WASD не нажимались в игре.

Для блокировки нажатия клавиш я использовал это:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(handle, 65, 0, 65);
RegisterHotKey(handle, 87, 0, 87);
RegisterHotKey(handle, 68, 0, 68);
RegisterHotKey(handle, 83, 0, 83);
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnregisterHotKey(handle, 65);
UnregisterHotKey(handle, 87);
UnregisterHotKey(handle, 68);
UnregisterHotKey(handle, 83);
end;
Чтобы отловить нажатие клавиши W я делал так:
Delphi
1
2
3
4
5
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if msg.hotkey=87 then
 
end;
Добавив это:
Delphi
1
2
private
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
Но нужно также чтобы удерживалось нажатие стрелки столько сколько будет задерживаться W.
А тут нету разницы нажал или отпустил кнопку.
Посоветуйте как выйти из такого положения?
1
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2013, 16:10
Ответы с готовыми решениями:

Гонки на Delphi. Управление стрелками
Доброго времени суток! Нужно сделать управление машинкой с помощью стрелок. Код прописала, но он не...

Движение объекта (квадрата) по экрану, управление клавишами-стрелками и WASD
Всем доброго времени суток! Всё, что нужно от программы: двигать квадрат размером 20*20 кв....

[Unity 4.3.1] Как изменить управление WASD на сенсорный джойстик?
Скачал движок Unity 4.3.1 с поддержкой 2D, скачал демку "Unity Projects 02: 2D Platformer", но она...

Управление стрелками C++
Написал программу, работает. Но вопрос в том, что когда нажимаю на стрелки, мой символ только...

1
teleprog
177 / 149 / 43
Регистрация: 14.08.2008
Сообщений: 1,265
06.08.2013, 20:52 2
нагуглил
Delphi
1
2
3
4
5
функция GetKeyState позволяет определить нажата ли та или иная клавиша в данный момент времени и включена или выключена клавиша переключатель в данный момент времени: 
 
      function GetKeyState(
        nVirtKey: Integer //код виртуальной клавиши (ASCII таблица)
      ): SHORT;
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2013, 20:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Управление стрелками
Здравствуйте. Помогите пожалуйста. Есть класс, работает как надо, если он является основным....

Управление стрелками на Android
Добрый день форумчане. Мучаюсь... не могу ни как реализовать управление стрелками по осям X и Y под...

Управление стрелками клавиатуры
Нужно присвоить действия при нажатии стрелок на клавиатуре. Пояснения Unity не смог понять....

Управление стрелками в консоли
Как сделать управление стрелками что-бы когда нажимаешь стрелочку выполнялось опридельоное действие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.