Использование сторонней библиотеки UKEYB

 

Для плавного управления клавиатурой при создании игры недостаточно средств модуля CRT или использования событий клавиатуры. Можно использовать стороннюю библиотеку UKEYB. Она несовместима с CRT, поэтому при её подключении CRT нужно исключить из списка модулей, и все подпрограммы из CRT заменить аналогами из UKEYB.

 

UKEYB содержит такие функции для работы с клавиатурой:

Функция ispressed(key:integer):boolean; проверяет, нажата ли клавиша, заданная параметром.

Функция is_any_key:boolean; проверяет, нажата ли хоть какая-нибудь клавиша.

Функция arrow_dir:byte; проверяет, куда нажаты клавиши-стрелки. (0-не нажаты, 1-8 - от вертикали по часовой стрелке)

При вызове ispressed удобно вместо кода клавиши использовать перечисленные ниже константы:

 

F1_key=112; F2_key=113; F3_key=114; F4_key=115; F5_key=116; F6_key=117; F7_key=118; F8_key=119; F9_key=120; F10_key=121; F11_key=122; F12_key=123; pgup_key=33; pgdn_key=34; caps_key=20; Lctrl_key=162; Rctrl_key=163; Lalt_key=164; Ralt_key=165; Lshift_key=160; Rshift_key=161;
esc_key=27; tab_key=9; space_key=32; enter_key=13; up_key=38; down_key=40; left_key=37; right_key=39; ins_key=45;del_key=46; home_key=36; end_key=35;    
A_key=65; B_key=66; C_key=67; D_key=68; E_key=69; F_key=70; G_key=71; H_key=72; I_key=73; J_key=74; K_key=75; L_key=76; M_key=77; N_key=78; O_key=79; P_key=80; Q_key=81; R_key=82; S_key=83; T_key=84; U_key=85; V_key=86; W_key=87; X_key=88; Y_key=89; Z_key=90;

 

Библиотека UKEYB содержит также средства для работы с мышью:

 

Функция mousebutton возвращает 0, если кнопки мыши не нажаты, 1 – левая, 2 – правая кнопки мыши и 4 – нажато колёсико.

Функция SetMouseCursorOff убирает курсор мыши из окна, а SetMouseCursorOn восстанавливает его.

Функции MouseX и MouseY дают координаты левой верхней точки курсора.

program krugok; uses graphabc,ukeyb; begin randomize; setmousecursoroff; lockdrawing; setbrushcolor(clred); repeat clearwindow(clblack); circle(mousex,mousey,20); redraw; if mousebutton=1 then begin setbrushcolor(random(clwhite)); sleep(50); end; until is_any_key; end.
В качестве примера рассмотрим программу, которая перемещает кружок по движению мыши, а нажатие левой кнопки мыши меняет цвет кружка:


[1] Однако, работы в этом направлении (искусственный интеллект) ведутся.








Дата добавления: 2014-12-18; просмотров: 1018;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.