Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как избавиться от дополнительных клавиш в DXInput? [Delphi]


MozG ©   (2003-10-20 14:17:00) 

Пишу на DelphiX, с использованием DXInput

Это трудно описать, но проблема такая:
Я сделал игру, управление первым игроком:
Прыжок-Клавиша вверх
Влево-Клавиша влево
Вправо-Клавиша вправо
Приседание-Клавиша вниз
Стрельба-/
Дуло вверх-.
Дуло вниз-,
Смена оружия-;
Использовать способность-L
Центрировать дуло-K

Когда играешь, то почему то
на клавишу K добавляется, помимо центрировать дуло - идти вправо
на клавишу L добавляется, помимо Использовать способность - прыжок
На пробел - дуло вниз
На Enter - дуло вверх

и т.д. короче на некоторые клавиши почему-то назначаются действия, как от этого избавиться?


cyborg   (2003-10-22 01:40:00) [1]

Это у тебя код кривой, выравнивай, будет нормально работать.


Asteroid   (2003-10-21 21:38:00) [2]

Напиши тестовую програмку, кот. будет показывать все нажатые (по мнению DXInput) клавиши, типа:
в DXTimer1Timer:

var s: string
   i: Integer;
begin
 s := '';
 for i := 0 to 255 do
   if DXInput1.Keyboard.Keys[i] then s := s + IntToStr(i) + ' ';
 Label1.Caption := s;
end;

У меня все нормально. Может ты еще приведешь код обработки клавиш?


MozG   (2003-10-21 15:59:00) [3]

Я так и делаю, но почему-то назначаются альтернативные клавиши?
Я напишу K - центрировать дуло, а оно еще и прыжок будет к этому.


Asteroid   (2003-10-21 15:56:00) [4]

Используй VK_ константы, типа VK_LEFT - влево, VK_UP - вверх.
Для букв - Ord, напр., Ord( 'K' ) - центрировать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо