Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

нажатие нескольких клавиш...   Найти похожие ветки 

 
Dunkan ©   (2003-02-26 11:19) [0]

подскажите, как нажать в игре две клавиши сразу(т.е у одного игрока и у другого).
очень надо... зарание пасибо...


 
han_malign ©   (2003-02-26 11:30) [1]

OnKeyDown
- если не в курсе: клавиатура генерит два события - одно на нажатие клавиши, другое на отпускание (причем Shif,Ctrl,Alt ничем не отличаются от других клавиш, просто по событию нажатия взодится флаг удержания кнопки, по событию отпускания, соотвественно, сбрасывается). Так-же (не помню контроллером клавы или системой) событие нажатия автоматически повторяется через определенный промежуток времени...
З.Ы. В OnKeyDown нельзя становиться в ожидание(этим ты заблокируешь очередь сообщений), нужно установить флаг дла конкретной кнопки и сбросить его в OnKeyUp, и реагировать не на соответсвующую клавишу, а на суперпозицию флагов удержания кнопки...
З.З.Ы. Что-то я сегодня добрый...


 
Dunkan ©   (2003-02-26 11:36) [2]

а не сложно примером...новичек я


 
Dunkan ©   (2003-02-26 12:08) [3]

так кто знает???


 
Ru ©   (2003-02-26 12:10) [4]

//вводим флаги

FPMoveUp,//первый игрок двигается вперед
SPMoveUp,//второй игрок двигается вперед
...:boolean;//я же не знаю какие у тебя еще события

procedure Form1.OnKeyPress(...);
begin
case key of
119: SPMoveUp:=true;//по нажатию w второй игрок должен двигаться вперед
... //
end;
end;

procedure Form1.OnKeyUp(...);
begin
case key of
119: SPMoveUp:=false;//да остановите кто-нибудь этого козла
... //
end;
end;

procedure Timer1.OnTimer(...);
begin
if SPMoveUp then begin
//второй игрок еще движется
end else begin
//остановились
end;
...//ну и для остальных
end;


Примерно так. естьственно процедуры должны быть правильные


 
Dunkan ©   (2003-02-26 14:06) [5]

пасиба...


 
Dunkan ©   (2003-02-26 17:42) [6]

у кого есть ещё варианты???


 
Ketmar ©   (2003-02-26 19:13) [7]

>Dunkan © (26.02.03 17:42)
сударь, а не пошли бы вы в сад? вам уже ответили. шагом марш делать.

Satanas Nobiscum! 26-Feb-XXXVIII A.S.


 
oomneeq ©   (2003-02-27 00:35) [8]

unit windows

function GetKeyState(nVirtKey: Integer): SHORT; stdcall;
function GetAsyncKeyState(vKey: Integer): SHORT; stdcall;




Страницы: 1 вся ветка

Текущий архив: 2003.03.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
7-39607
#Deus
2003-01-18 20:15
2003.03.13
Раскладка клавиатуры


1-39332
Andy BitOff
2003-02-28 22:33
2003.03.13
Почему не Drag n Drop пится


14-39557
Delirium
2003-02-26 17:50
2003.03.13
Доменное имя первого уровня - даром !


8-39424
aspen
2002-12-03 13:06
2003.03.13
как избежать мерцания при перерисовке?


14-39502
Delirium^.Tremens
2003-02-21 14:20
2003.03.13
Москалики в ...