Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Я вот так объезжаю:
Global KH_SPACE, KH_LEFT_CTRL, KH_LEFT_SHIFT, KH_RIGHT_CTRL, KH_RIGHT_SHIFT, KH_W, KH_A, KH_S, KH_D, KH_Q, KH_E
Global KD_SPACE, KD_LEFT_CTRL, KD_LEFT_SHIFT, KD_RIGHT_CTRL, KD_RIGHT_SHIFT, KD_W, KD_A, KD_S, KD_D, KD_Q, KD_E
Global KH_F, KH_R, KH_T, KH_Y
Global KD_F, KD_R, KD_T, KD_Y
Global KH_1, KH_2, KH_3, KH_4, KH_5, KH_6, KH_7, KH_8, KH_9, KH_0
Global KD_1, KD_2, KD_3, KD_4, KD_5, KD_6, KD_7, KD_8, KD_9, KD_0
Global KH_NUM_1, KH_NUM_2, KH_NUM_3, KH_NUM_4, KH_NUM_5, KH_NUM_6, KH_NUM_7, KH_NUM_8, KH_NUM_9, KH_NUM_0
Global KD_NUM_1, KD_NUM_2, KD_NUM_3, KD_NUM_4, KD_NUM_5, KD_NUM_6, KD_NUM_7, KD_NUM_8, KD_NUM_9, KD_NUM_0
Global KH_TAB, KH_BACKSPACE, KH_ENTER, KH_LEFT_ALT
Global KD_TAB, KD_BACKSPACE, KD_ENTER, KD_LEFT_ALT
Global MouseXS,MouseYS,MouseZS
Global MX,MY,MZ
Global Mouse1Hit,Mouse2Hit,Mouse3Hit
Global Mouse1Down,Mouse2Down,Mouse3Down
Global Mouse1Up,Mouse2Up,Mouse3Up ; Самодельное :)
Function GetInput()
; Цифры
KH_1 = xKeyHit(2)
KD_1 = xKeyDown(2)
KH_2 = xKeyHit(3)
KD_2 = xKeyDown(3)
KH_3 = xKeyHit(4)
KD_3 = xKeyDown(4)
KH_4 = xKeyHit(5)
KD_4 = xKeyDown(5)
KH_5 = xKeyHit(6)
KD_5 = xKeyDown(6)
KH_6 = xKeyHit(7)
KD_6 = xKeyDown(7)
KH_7 = xKeyHit(8)
KD_7 = xKeyDown(8)
KH_8 = xKeyHit(9)
KD_8 = xKeyDown(9)
KH_9 = xKeyHit(10)
KD_9 = xKeyDown(10)
KH_0 = xKeyHit(11)
KD_0 = xKeyDown(11)
; NumPad
KH_NUM_1 = xKeyHit(79)
KD_NUM_1 = xKeyDown(79)
KH_NUM_2 = xKeyHit(80)
KD_NUM_2 = xKeyDown(80)
KH_NUM_3 = xKeyHit(81)
KD_NUM_3 = xKeyDown(81)
KH_NUM_4 = xKeyHit(75)
KD_NUM_4 = xKeyDown(75)
KH_NUM_5 = xKeyHit(76)
KD_NUM_5 = xKeyDown(76)
KH_NUM_6 = xKeyHit(77)
KD_NUM_6 = xKeyDown(77)
KH_NUM_7 = xKeyHit(71)
KD_NUM_7 = xKeyDown(71)
KH_NUM_8 = xKeyHit(72)
KD_NUM_8 = xKeyDown(72)
KH_NUM_9 = xKeyHit(73)
KD_NUM_9 = xKeyDown(73)
KH_NUM_0 = xKeyHit(82)
KD_NUM_0 = xKeyDown(82)
; Hit
KH_SPACE = xKeyHit(57)
KH_LEFT_ALT = xKeyHit(56)
KH_LEFT_CTRL = xKeyHit(29)
KH_LEFT_SHIFT = xKeyHit(42)
KH_RIGHT_ALT = xKeyHit(184)
KH_RIGHT_CTRL = xKeyHit(157)
KH_RIGHT_SHIFT = xKeyHit(42)
KH_W = xKeyHit(17)
KH_A = xKeyHit(30)
KH_S = xKeyHit(31)
KH_D = xKeyHit(32)
KH_Q = xKeyHit(16)
KH_E = xKeyHit(18)
KH_F = xKeyHit(33)
KH_R = xKeyHit(19)
KH_T = xKeyHit(20)
KH_Y = xKeyHit(21)
KH_TAB = xKeyHit(15)
KH_BACKSPACE = xKeyHit(14)
KH_ENTER = xKeyHit(28)
; Down
KD_SPACE = xKeyDown(57)
KD_LEFT_ALT = xKeyDown(56)
KD_LEFT_CTRL = xKeyDown(29)
KD_LEFT_SHIFT = xKeyDown(42)
KD_RIGHT_ALT = xKeyDown(184)
KD_RIGHT_CTRL = xKeyDown(157)
KD_RIGHT_SHIFT = xKeyDown(42)
KD_W = xKeyDown(17)
KD_A = xKeyDown(30)
KD_S = xKeyDown(31)
KD_D = xKeyDown(32)
KD_Q = xKeyDown(16)
KD_E = xKeyDown(18)
KD_F = xKeyDown(33)
KD_R = xKeyDown(19)
KD_T = xKeyDown(20)
KD_Y = xKeyDown(21)
KD_TAB = xKeyDown(15)
KD_BACKSPACE = xKeyDown(14)
KD_ENTER = xKeyDown(28)
; Мышь
MX = xMouseX()
MY = xMouseY()
MZ = xMouseZ()
MouseXS = xMouseXSpeed()
MouseYS = xMouseYSpeed()
MouseZS = xMouseZSpeed()
Mouse1Hit = xMouseHit(1)
Mouse2Hit = xMouseHit(2)
Mouse3Hit = xMouseHit(3)
Mouse1Up = Mouse1Down
Mouse1Down = xMouseDown(1)
If Mouse1Down = 0 And Mouse1Up <> 0 Then
Mouse1Up = 1
Else
Mouse1Up = 0
End If
Mouse2Up = Mouse2Down
Mouse2Down = xMouseDown(2)
If Mouse2Down = 0 And Mouse2Up <> 0 Then
Mouse2Up = 1
Else
Mouse2Up = 0
End If
Mouse3Up = Mouse3Down
Mouse3Down = xMouseDown(3)
If Mouse3Down = 0 And Mouse3Up <> 0 Then
Mouse3Up = 1
Else
Mouse3Up = 0
End If
;xFlushKeys() ; которого нет
End Function
Собсно это было у меня ещё когда проект был ещё на B3D, но, как оказалось, и без флуша работает неплохо (каждая клавиша, задействованная здесь, флушится при вызове xKeyHit/xKeyDown)
З.Ы. Клавиши тут не все. Однако добавил MouseUp, полезная штука.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|