Показать сообщение отдельно
Старый 10.08.2008, 18:47   #2
vitalik1
Оператор ЭВМ
 
Регистрация: 11.11.2007
Сообщений: 26
Написано 6 полезных сообщений
(для 10 пользователей)
Ответ: Как проверить нажатие сразу нескольких кнопок?

такая функция есть в либе game
function get_key_states: integer;

вот пример использования:

Program test;

uses
   game
;
   
const
   
UP_PRESSED 2;
   
DOWN_PRESSED 64;
   
LEFT_PRESSED 4;
   
RIGHT_PRESSED 32;
   
FIRE_PRESSED 256;
   
GAME_A_PRESSED 512;
   
GAME_B_PRESSED 1024;
   
GAME_C_PRESSED 2048;
   
GAME_D_PRESSED 4096;
   
var
   
imgimage;
   
keyinteger;
   
x,yinteger;

procedure cls;
begin
   setcolor
(255,255,255);
   
fillrect(0,0,getwidth,getheight);
end;

procedure init;
begin
   img
:=loadimage('/icon.png');
   
x:=20;
   
y:=20;
   
game.init;
   
game.show;
end;

Begin
   init
;
   
repeat
      key
:=game.get_key_states;
      if 
game.get_bit(keyLEFT_PRESSED)<>0 then
         x
:=x-5;
      if 
game.get_bit(keyRIGHT_PRESSED)<>0 then
         x
:=x+5;
      if 
game.get_bit(keyUP_PRESSED)<>0 then
         y
:=y-5;
      if 
game.get_bit(keyDOWN_PRESSED)<>0 then
         y
:=y+5;
      
cls;
      
drawimage(img,x,y);
      
game.refresh;
      
delay(50);
   
until game.get_bit(keyFIRE_PRESSED)<>0;
End
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо vitalik1 за это полезное сообщение:
izikCX75 (11.08.2008), Kostia (10.08.2008)