Джойстик
Доступно начиная с LÖVE 0.9.0
Этот тип не поддерживается в более ранних версиях.
Представляет физический джойстик.
Конструкторы
| love.joystick.getJoysticks | Получает список подключенных джойстиков. | 0.9.0 |
Функции
| Joystick:getAxes | Получает направление каждой оси. | 0.9.0 | |
| Joystick:getAxis | Получает направление оси. | 0.9.0 | |
| Joystick:getAxisCount | Получает количество осей на джойстике. | 0.9.0 | |
| Joystick:getButtonCount | Получает количество кнопок на джойстике. | 0.9.0 | |
| Joystick:getConnectedIndex | Получает индекс подключенного джойстика. | 0.9.0 | |
| Joystick:getDeviceInfo | Получает независимую от ОС информацию об устройстве джойстика. | 11.3 | |
| Joystick:getGUID | Получает стабильный GUID, уникальный для типа физического джойстика. | 0.9.0 | |
| Joystick:getGamepadAxis | Получает направление виртуальной оси геймпада. | 0.9.0 | |
| Joystick:getGamepadMapping | Получает кнопку, ось или нажим, к которым привязано виртуальное входное значение геймпада. | 0.9.0 | |
| Joystick:getGamepadMappingString | Получает полную строку сопоставления геймпада для этого джойстика или nil, если он не распознаётся как геймпад. | 11.3 | |
| Joystick:getHat | Получает направление нажима. | 0.9.0 | |
| Joystick:getHatCount | Получает количество нажимов на джойстике. | 0.9.0 | |
| Joystick:getID | Получает уникальный идентификатор джойстика. | 0.9.0 | |
| Joystick:getName | Получает имя джойстика. | 0.9.0 | |
| Joystick:getVibration | Получает текущие значения силы вибрации на джойстике с поддержкой вибрации. | 0.9.0 | |
| Joystick:isConnected | Получает, подключен ли джойстик. | 0.9.0 | |
| Joystick:isDown | Проверяет, нажата ли кнопка на джойстике. | 0.9.0 | |
| Joystick:isGamepad | Получает, распознаётся ли джойстик как геймпад. | 0.9.0 | |
| Joystick:isGamepadDown | Проверяет, нажата ли виртуальная кнопка геймпада на джойстике. | 0.9.0 | |
| Joystick:isVibrationSupported | Получает, поддерживает ли джойстик вибрацию. | 0.9.0 | |
| Joystick:setVibration | Устанавливает скорость вибрации на джойстике с поддержкой вибрации. | 0.9.0 | |
| Object:release | Немедленно уничтожает Lua-ссылку объекта. | 11.0 | |
| Object:type | Получает тип объекта в виде строки. | ||
| Object:typeOf | Проверяет, является ли объект определенного типа. |
Перечисления
| GamepadAxis | Виртуальные оси геймпада. | 0.9.0 | |
| GamepadButton | Виртуальные кнопки геймпада. | 0.9.0 | |
| JoystickHat | Позиции нажима джойстика. | 0.5.0 | |
| JoystickInputType | Типы входов джойстика. | 0.9.0 |
Надтипы
Примеры
Отображение последней нажатой кнопки контроллера на экране
local lastbutton = "none"
function love.gamepadpressed(joystick, button)
lastbutton = button
end
function love.draw()
love.graphics.print("Last gamepad button pressed: "..lastbutton, 10, 10)
end
Перемещение круга с помощью д-пада контроллера
function love.load()
local joysticks = love.joystick.getJoysticks()
joystick = joysticks[1]
position = {x = 400, y = 300}
speed = 300
end
function love.update(dt)
if not joystick then return end
if joystick:isGamepadDown("dpleft") then
position.x = position.x - speed * dt
elseif joystick:isGamepadDown("dpright") then
position.x = position.x + speed * dt
end
if joystick:isGamepadDown("dpup") then
position.y = position.y - speed * dt
elseif joystick:isGamepadDown("dpdown") then
position.y = position.y + speed * dt
end
end
function love.draw()
love.graphics.circle("fill", position.x, position.y, 50)
end
См. также
- love.joystickadded
- love.joystickremoved
- love.joystickpressed
- love.joystickreleased
- love.joystickaxis
- love.joystickhat
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/Joystick