2016-03-30 1 views
1

Je suis extrêmement nouveau pour LUA et Love2D. Je voudrais ajouter 10 à une variable pendant que l'on appuie sur une touche. Mon code actuel est le suivant:Incrément de 10 lorsque la touche est enfoncée Love2D

local y 
local x 
local test 
local key 

function love.load() 
    y = 0 
    x = 0 
    test = love.graphics.newImage("test.jpg") 
end 

function love.draw() 
    love.graphics.draw(test, x, y) 
end 

function love.update(dt) 

end 

function love.keypressed(key) 
    if key == "down" then 
     y = y+10 
    end 
    if key == "up" then 
     y = y-10 
    end 
    if key == "left" then 
     x = x-10 
    end 
    if key == "right" then 
     x = x+10 
    end 
end 

Cela fonctionne bien, sauf qu'il ajoute dix chaque fois que la touche est relâchée et enfoncée à nouveau. Mon but est que le programme continue à ajouter dix à la variable tandis que la touche est pressée de sorte que vous continuerez à déplacer l'image quel que soit le temps ou si vous n'avez pas relâché la touche.

Répondre

1

Vous devez utiliser la fonction de rappel isDown au lieu de isPressed

Exemple:

if love.keyboard.isDown(" ") then. 
     text = "The SPACE key is held down!" 
end 
+0

Merci! Je l'ai vu en faisant mes recherches mais je n'ai pas pu comprendre, pour la vie de moi, comment implémenter ceci dans mon code. Je vais tester ça demain. – MrSchmuck