Главная страница
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.017 c
1-39385
mannik
2003-03-03 00:16
2003.03.13
FIND


1-39304
Navigator3000
2003-03-04 08:47
2003.03.13
Загрузка рисунка


1-39375
Barlok
2003-03-02 19:15
2003.03.13
Вопрос мне надо в Edit ввести строку и вывести через Listbox ?


3-39157
Брат
2003-02-20 16:24
2003.03.13
Как в IB занести null в ячейку?


14-39476
SkyN
2003-02-27 12:44
2003.03.13
Кто нибуть работал с фискальными регистраторами?