Главная страница
    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.007 c
1-39382
SeNtiMeL
2003-03-03 00:14
2003.03.13
Как сохранить свойство TFont.Style в ini файле...


1-39399
crippler
2003-03-03 11:25
2003.03.13
Люди, помогите скачать курсовую по Delphi


3-39221
Ixion
2003-02-23 00:12
2003.03.13
Текущий пользователь


1-39308
Андрусь
2003-02-28 14:46
2003.03.13
функция для форматирования длинных строк в мессагах


1-39349
OxOTHuK
2003-03-01 22:36
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский