![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как избавиться от дополнительных клавиш в 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' ) - центрировать.