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

Вниз

KeyDown   Найти похожие ветки 

 
Nikss   (2006-08-25 09:58) [0]

Здравствуйте! Подскажите, пожалуйста, ответ на такой глупый вопрос: у меня есть процедура FormKeyDown, в которой в случае нажатия определенной клавиши обрабатывается соответствующее событие. Мне нужно в другой процедуре записать такое условие: "пока ни одна из предусмотренных клавиш не нажата, выполнять такое-то действие". Как это записать?


 
Ketmar ©   (2006-08-25 10:11) [1]

игру пишем?
вариантов много.
а) изменить логику работы программы;
б) appEvents.OnIdle();
в) таймер.
пока хватит.


 
Сергей М. ©   (2006-08-25 10:15) [2]

var SomeKeyPressed: Boolean; //глоб.переменная

в обработчике FormKeyDown:

if Key := ... then SomeKeyPressed := True;
..

в процедуре:

while not (Application.Terminated or SomeKeyPressed) do begin
 DoSomething;
 Application.ProcessMessages;
end;
SomeKeyPressed := False;


 
DevilDevil ©   (2006-08-25 16:29) [3]

KeyArray : array[0..255] of boolean;

OnCreate:
var i : integer;
begin
  for i := 0 to 255 do KeyArray[i] := false;
end;

OnKeyDown:
KeyArray[Key] := true;

OnKeyUp:
KeyArray[Key] := false;

function IsKeyPressed(Key : byte) : boolean;
begin
 Result := KeyArray[Key];
end;


Кидаешь на форму компонент ApplicationEvents

По событию OnIdle пишешь:

begin
   
   if KeyPressed(VK_ESCAPE) then Application.Terminate;

   if KeyPressed(VK_LEFT) then ; //переместить игрока влев
   if KeyPressed(VK_RIGHT) then ; //переместить игрока вправо
  // и т.д.
end;


 
DevilDevil ©   (2006-08-25 16:51) [4]

в процедуре OnIdle сразу после begin надо написать Done := false;



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

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

Наверх




Память: 0.47 MB
Время: 0.057 c
15-1156633166
demikasy
2006-08-27 02:59
2006.09.17
океан чувств


2-1157012712
Perf2k2
2006-08-31 12:25
2006.09.17
Как лучше подключаться к MySQL через Delphi


2-1156506003
Alral
2006-08-25 15:40
2006.09.17
Разбитие строки.


2-1156423809
H!TM@N
2006-08-24 16:50
2006.09.17
Поиск файлов


5-1139661999
ruslann
2006-02-11 15:46
2006.09.17
нужен компонент "panel" но нестандартной формы