Difference between revisions of "love.gamepadaxis"

(See Also)
(Example: Cleaned up example.)
 
(One intermediate revision by one other user not shown)
Line 14: Line 14:
  
 
== Example ==
 
== Example ==
 +
Update the position of an object when an axis moves.
 +
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
width, height = love.graphics.getDimensions( )
+
width, height = love.graphics.getDimensions()
local joysticks = love.joystick.getJoysticks()
+
position     = {x = width/2, y = height/2}
joystick = joysticks[1]
 
position = {x = width/2, y = height/2}
 
end
 
 
 
function love.draw()
 
function love.draw()
 
love.graphics.circle("fill", position.x, position.y, 50)
 
end
 
 
end
 
end
  
function love.gamepadaxis( joystick, axis, value )
+
function love.gamepadaxis(joystick, axis, value)
 
if axis == "leftx" then
 
if axis == "leftx" then
position.x = width/2 + value*height/2
+
position.x = width/2 + value*width/2
 
elseif axis == "lefty" then
 
elseif axis == "lefty" then
 
position.y = height/2 + value*height/2
 
position.y = height/2 + value*height/2
 
end
 
end
 +
end
 +
 +
function love.draw()
 +
love.graphics.circle("fill", position.x, position.y, 50)
 
end
 
end
 
</source>
 
</source>

Latest revision as of 18:57, 11 November 2021

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

Called when a Joystick's virtual gamepad axis is moved.

Function

Synopsis

love.gamepadaxis( joystick, axis, value )

Arguments

Joystick joystick
The joystick object.
GamepadAxis axis
The virtual gamepad axis.
number value
The new axis value.

Returns

Nothing.

Example

Update the position of an object when an axis moves.

function love.load()
	width, height = love.graphics.getDimensions()
	position      = {x = width/2, y = height/2}
end

function love.gamepadaxis(joystick, axis, value)
	if axis == "leftx" then
		position.x = width/2 + value*width/2
	elseif axis == "lefty" then
		position.y = height/2 + value*height/2
	end
end

function love.draw()
	love.graphics.circle("fill", position.x, position.y, 50)
end

See Also


Other Languages