Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-39504
Volly
2003-02-24 17:05
2003.03.13
Где можно найти картинки поездов?


14-39552
Mixan
2003-02-26 20:41
2003.03.13
А как посмотреть только свои сообщения


14-39490
Anatoly Podgoretsky
2003-02-23 16:24
2003.03.13
Именинник 23 февраля


3-39213
kalishenko stas
2003-02-20 19:19
2003.03.13
FastReport


1-39389
denis24
2003-03-02 17:35
2003.03.13
обращение к имени к компонентам в цикле




   Наверх