forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Нужна помощь! (http://forum.boolean.name/showthread.php?t=12291)

NetBuilding 26.07.2010 16:49

Ответ: Нужна помощь!
 
дайте плиз FAQ по lib_keys.

Trazzy 27.07.2010 02:07

Ответ: Нужна помощь!
 
У меня только такое:
Цитата:

Lib_keys - Библиотека для определения одновременно нажатых клавиш
get_key_states; - с-но сама функция

cherepets 27.07.2010 12:15

Ответ: Нужна помощь!
 
это всем и так известно. а как правильно узнавать потом из каких кодов результат состоит? я делаю так:

сравниваю результат с кодами в порядке убывания.
если результат больше - код в массив пишем, а от результата его отнимаем.
когда результат станет равен 0, то все коды будут у нас в массиве.

cHeRsAnYa 27.07.2010 14:39

Ответ: Нужна помощь!
 
В яве это делается примерно так (цитата из доков):
Код:

      // Check user input and update positions if necessary
      int keyState = getKeyStates();
      if ((keyState & LEFT_PRESSED) != 0) {
          sprite.move(-1, 0);
      }
      else if ((keyState & RIGHT_PRESSED) != 0) {
          sprite.move(1, 0);
      }

Если в паскале есть битовые операции, то можно и в нём аналогично. Значения констант:
Код:

javax.microedition.lcdui.game.GameCanvas
public static final int        DOWN_PRESSED        64
public static final int        FIRE_PRESSED        256
public static final int        GAME_A_PRESSED        512
public static final int        GAME_B_PRESSED        1024
public static final int        GAME_C_PRESSED        2048
public static final int        GAME_D_PRESSED        4096
public static final int        LEFT_PRESSED        4
public static final int        RIGHT_PRESSED        32
public static final int        UP_PRESSED        2


psih1 27.07.2010 18:57

Ответ: Нужна помощь!
 
Вот для тебя пример сделал
PHP код:

Program keys;

uses
   keys
;
   
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;
   
keys.init;
   
keys.show;
end;

Begin
   init
;
   
repeat
      key
:=keys.get_key_states;
      if 
keys.get_bit(keyLEFT_PRESSED)<>0 then
         x
:=x-5;
      if 
keys.get_bit(keyRIGHT_PRESSED)<>0 then
         x
:=x+5;
      if 
keys.get_bit(keyUP_PRESSED)<>0 then
         y
:=y-5;
      if 
keys.get_bit(keyDOWN_PRESSED)<>0 then
         y
:=y+5;
      
cls;
      
drawimage(img,x,y);
      
keys.refresh;
      
delay(50);
   
until keys.get_bit(keyFIRE_PRESSED)<>0;
End


NetBuilding 27.07.2010 22:04

Ответ: Нужна помощь!
 
чето у меня библа какя-то косячная чтоли, ошибки сыплются на примере от psih1
брал здесь: http://forum.boolean.name/showthread.php?t=7438

psih1 27.07.2010 22:09

Ответ: Нужна помощь!
 
у меня все робит без проблем

NetBuilding 27.07.2010 23:24

Ответ: Нужна помощь!
 
у меня ни одну функцию не признает
psih1 кинь плиз свою lib_keys

psih1 28.07.2010 10:01

Ответ: Нужна помощь!
 
Вложений: 1
Вот либа и пример

NetBuilding 28.07.2010 18:56

Ответ: Нужна помощь!
 
psih1 благодарю теперь рубит :)
только для моего проекта не катит, неприятные глюки от keys.refresh :(

psih1 29.07.2010 21:07

Ответ: Нужна помощь!
 
как реализовать графическую форму при нажатии на которую вводится текс в обычной форме showTextBox и при нажатии ок выводится в канавасе
(drawText)

cherepets 29.07.2010 22:04

Ответ: Нужна помощь!
 
алармы в КАНАВАСЕ наступают!
а в чем проблема то? если в переносах, то lib_text в помощь. если в коммандах, то хелп->туториал->работа с формами

psih1 29.07.2010 22:47

Ответ: Нужна помощь!
 
мне теорию я сам сделаю хотябы переход между конвасом в форму и наоборот


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

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