Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-39494
XP
2003-02-24 23:50
2003.03.13
Работа с почтой


14-39467
Step[B.M.]
2003-02-27 01:00
2003.03.13
Помогите пожалуйста. Как этих два файла slider.pas и slider.res


7-39613
TankMan1
2002-11-14 00:04
2003.03.13
Как отменить удаление файла с винта...


1-39256
Silver_
2003-03-03 16:04
2003.03.13
Вставить DBCheckBox в DBGrid


14-39548
Настя
2003-02-25 07:03
2003.03.13
Помогите!!! Нужна таблица





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский