Spec-Zone.ru › LÖVE

Джойстик

Доступно начиная с 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.joystick
  • love.joystick.getJoystickCount
  • love.joystickadded
  • love.joystickremoved
  • love.joystickpressed
  • love.joystickreleased
  • love.joystickaxis
  • love.joystickhat
  • love.gamepadpressed
  • love.gamepadreleased
  • love.gamepadaxis

© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/Joystick

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API