Difference between revisions of "love.wheelmoved"

m
m
 
(3 intermediate revisions by 3 users not shown)
Line 32: Line 32:
 
=== Smooth scrolling ===
 
=== Smooth scrolling ===
 
<source lang="lua">
 
<source lang="lua">
local posx, posy = love.graphics.getWidth() * 0.5, love.graphics.getHeight() * 0.5
+
function love.load()
local velx, vely = 0, 0 -- The scroll velocity
+
    posx, posy = love.graphics.getWidth() * 0.5, love.graphics.getHeight() * 0.5
 +
    velx, vely = 0, 0 -- The scroll velocity
 +
end
  
 
function love.draw()
 
function love.draw()
Line 40: Line 42:
  
 
function love.update( dt )
 
function love.update( dt )
     posx = posx + velx
+
     posx = posx + velx * dt
     posy = posy + vely
+
     posy = posy + vely * dt
  
 
     -- Gradually reduce the velocity to create smooth scrolling effect.
 
     -- Gradually reduce the velocity to create smooth scrolling effect.
     velx = velx * 0.95
+
     velx = velx - velx * math.min( dt * 10, 1 )
     vely = vely * 0.95
+
     vely = vely - vely * math.min( dt * 10, 1 )
 
end
 
end
  
 
function love.wheelmoved( dx, dy )
 
function love.wheelmoved( dx, dy )
     velx = velx + dx
+
     velx = velx + dx * 20
     vely = vely + dy
+
     vely = vely + dy * 20
 
end
 
end
 
</source>
 
</source>
Line 58: Line 60:
 
[[Category:Callbacks]]
 
[[Category:Callbacks]]
 
{{#set:Description=Callback function triggered when the mouse wheel is moved.}}
 
{{#set:Description=Callback function triggered when the mouse wheel is moved.}}
{{#set:Subcategory=General}}
+
{{#set:Subcategory=Mouse}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.wheelmoved}}
 
{{i18n|love.wheelmoved}}

Latest revision as of 22:29, 7 March 2019

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

Callback function triggered when the mouse wheel is moved.

Function

Synopsis

love.wheelmoved( x, y )

Arguments

number x
Amount of horizontal mouse wheel movement. Positive values indicate movement to the right.
number y
Amount of vertical mouse wheel movement. Positive values indicate upward movement.

Returns

Nothing.

Examples

local text = ""

function love.wheelmoved(x, y)
    if y > 0 then
        text = "Mouse wheel moved up"
    elseif y < 0 then
        text = "Mouse wheel moved down"
    end
end

function love.draw()
    love.graphics.print(text, 10, 10)
end


Smooth scrolling

function love.load()
    posx, posy = love.graphics.getWidth() * 0.5, love.graphics.getHeight() * 0.5
    velx, vely = 0, 0 -- The scroll velocity
end

function love.draw()
    love.graphics.rectangle( 'line', posx, posy, 50, 50 )
end

function love.update( dt )
    posx = posx + velx * dt
    posy = posy + vely * dt

    -- Gradually reduce the velocity to create smooth scrolling effect.
    velx = velx - velx * math.min( dt * 10, 1 )
    vely = vely - vely * math.min( dt * 10, 1 )
end

function love.wheelmoved( dx, dy )
    velx = velx + dx * 20
    vely = vely + dy * 20
end

See Also


Other Languages