Spec-Zone.ru › LÖVE

Joystick

Available since LÖVE 0.9.0
This type is not supported in earlier versions.

Represents a physical joystick.

Constructors

love.joystick.getJoysticks Gets a list of connected Joysticks. 0.9.0

Functions

Joystick:getAxes Gets the direction of each axis. 0.9.0
Joystick:getAxis Gets the direction of an axis. 0.9.0
Joystick:getAxisCount Gets the number of axes on the joystick. 0.9.0
Joystick:getButtonCount Gets the number of buttons on the joystick. 0.9.0
Joystick:getConnectedIndex Gets joystick connected index. 0.9.0
Joystick:getDeviceInfo Gets the OS-independent device info of the joystick. 11.3
Joystick:getGUID Gets a stable GUID unique to the type of the physical joystick. 0.9.0
Joystick:getGamepadAxis Gets the direction of a virtual gamepad axis. 0.9.0
Joystick:getGamepadMapping Gets the button, axis or hat that a virtual gamepad input is bound to. 0.9.0
Joystick:getGamepadMappingString Gets the full gamepad mapping string of this Joystick, or nil if it's not recognized as a gamepad. 11.3
Joystick:getHat Gets the direction of a hat. 0.9.0
Joystick:getHatCount Gets the number of hats on the joystick. 0.9.0
Joystick:getID Gets the joystick's unique identifier. 0.9.0
Joystick:getName Gets the name of the joystick. 0.9.0
Joystick:getVibration Gets the current vibration motor strengths on a Joystick with rumble support. 0.9.0
Joystick:isConnected Gets whether the Joystick is connected. 0.9.0
Joystick:isDown Checks if a button on the Joystick is pressed. 0.9.0
Joystick:isGamepad Gets whether the Joystick is recognized as a gamepad. 0.9.0
Joystick:isGamepadDown Checks if a virtual gamepad button on the Joystick is pressed. 0.9.0
Joystick:isVibrationSupported Gets whether the Joystick supports vibration. 0.9.0
Joystick:setVibration Sets the vibration motor speeds on a Joystick with rumble support. 0.9.0
Object:release Immediately destroys the object's Lua reference. 11.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.

Enums

GamepadAxis Virtual gamepad axes. 0.9.0
GamepadButton Virtual gamepad buttons. 0.9.0
JoystickHat Joystick hat positions. 0.5.0
JoystickInputType Types of Joystick inputs. 0.9.0

Supertypes

  • Object

Examples

Display the last button pressed of a controller on-screen

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

Move a circle with the d-pad of a controller

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

See Also

  • 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