Считывает кнопки и оси из прилагаемого игрового устройства
Синтаксис
Использование
result = GetJoystick( id[, buttons[, a1[, a2[, a3[, a4[, a5[, a6[, a7[, a8]]]]]]]]] )
Параметры
id
Номер id устройства (0 - 15)
buttons
Состояние кнопки
a1
Первое значение оси
a2
Второе значение оси
a3
Третье значение оси
a4
Четвертое значение оси
a5
Пятое значение оси
a6
Шестое значение оси
a7
Седьмое значение оси
a8
Восьмое значение оси
Возвращаемое значение
0 в случае успеха или 1 в случае возникновения ошибки. Все позиции осей
возвращаются в формате с плавающей запятой.
Описание
GetJoystick будет извлекать состояние кнопки, и позиции осей до
8 осей для джойстика, определяемого по
id, имеющего число от
0 до 15. Кнопки хранятся в аналогичной методике
GetMouse,
где каждый бит в
buttons , представляет кнопку.
Значение одинарной точности
-1.0 и
1.0 возвращается для
каждой оси. Если ось не существует для контроллера, то возвращается значение
-1000.00.
GetJoystick возвращает 0 при успешном завершении или возвращает
1 в случае ошибки. Причиной ошибки может быть неправильный номер указанного
джойстика или сбой в
API джойстика.
Пример
Screen 12
Dim x As Single
Dim y As Single
Dim buttons As Integer
Dim result As Integer
Dim a As Integer
Const JoystickID = 0
'Эта линия проверяет, в порядке ли
джойстик.
If GetJoystick(JoystickID,buttons,x,y) Then
Print "Joystick doesn't exist or joystick error."
Print
Print "Press any key to continue."
Sleep
End
End If
Do
result = GetJoystick(JoystickID,buttons,x,y)
Locate 1,1
Print ;"result:";result;" x:" ;x;" y:";y;" Buttons:";buttons,"","",""
'Эта линия позволит проверить какие
нажатия кнопок произведены от 1 до 27.
For a = 0 To 26
If (buttons And (1 Shl a)) Then
Print "Button ";a;" pressed. "
Else
Print "Button ";a;" not pressed."
End If
Next a
Loop
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Getjoystick.
Отличия от QB
См. также