forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ (http://forum.boolean.name/forumdisplay.php?f=48)
-   -   Как проверить нажатие сразу нескольких кнопок? (http://forum.boolean.name/showthread.php?t=6235)

Kostia 10.08.2008 17:23

Как проверить нажатие сразу нескольких кнопок?
 
Столкнулся с проблемой, как проверить состояния сразу нескольких кнопок. Возможно есть функции на подобии, getkeyboardstate или getkeystate как в Windows или есть хорошая либа для работы с клавиатурой?:dontknow:

vitalik1 10.08.2008 18:47

Ответ: Как проверить нажатие сразу нескольких кнопок?
 
такая функция есть в либе game
function get_key_states: integer;

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

PHP код:

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


Romanzes 15.08.2008 22:06

Ответ: Как проверить нажатие сразу нескольких кнопок?
 
А если я хочу, к примеру, обрабатывать нажатия цифровых клавиш, #, *? Как тут быть?

odd 18.08.2008 07:53

Ответ: Как проверить нажатие сразу нескольких кнопок?
 
Увы. Такое невозможно.

GomZik 19.08.2008 04:05

Ответ: Как проверить нажатие сразу нескольких кнопок?
 
Также хочу заметить, что некоторые телефоны (например почти все Моторолы не смарты) не поддерживают одновременное нажатие 2 клавиш не то что в яве, а вообще в прошивке(естественно кроме момента включения)

ncuxonaT 07.08.2009 03:47

Ответ: Как проверить нажатие сразу нескольких кнопок?
 
А на данный момент обработка нажатия нескольких цифровых клавиш всё еще невозможна?


Часовой пояс GMT +4, время: 06:33.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot