Использование сторонней библиотеки 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 дают координаты левой верхней точки курсора.
|
[1] Однако, работы в этом направлении (искусственный интеллект) ведутся.
Дата добавления: 2014-12-18; просмотров: 1028;