Re: работа с клавиатурой. однократное нажатие клавиши
Я не уверен, но можно попробовать примерно так:
const
num_keys=10;//кол-во клавиш
LEFT_PRESSED = 4;//код клавиши Left из примера
var
keys:array[1..num_keys]of boolean;//массив состояний клавиш
//true-нажата,false-отпущена
key:integer;
index:integer;//номер в массиве последней нажатой клавиши
begin
....
//гдето в цикле обработки клавы...
key:=getkeyclicked;
if game.get_bit(key, LEFT_PRESSED)<>0 then
begin
if not keys[1] then делаем что надо//если клавиша не нажата то делаем ///что надо
keys[1]:=true;
index:=1;
end;
***//аналогично остальные клавиши
while not
(game.get_bit(key, LEFT_PRESSED)=0)and(
game.get_bit(key, RIGHT_PRESSED)=0)and(Другие клавиши) do delay(100);
//пока кнопку не отпустят, крутимся на месте
keys[index]:=false;
//далее по циклу
ЗЫ.чем не устраивает совместное использование
стд и библиотечных функций как в кпимере?
|