按键时如何递增1?

时间:2015-07-16 07:59:53

标签: lua love2d

使用love2d,当事情发生时,我无法将变量递增1。

例如,当按下空格键时,我希望x仅增加一个,而不会再次更改,直到再次按下空格键。目前,当空格键向下时,它会以非常快的速度添加一个,并一直持续到我释放空格键。

这是现在的代码示例。

function love.load()
    x = 0
end

function love.update(dt)
    if love.keyboard.isDown(" ") then
        x = x +1
    end
end

function love.draw()
    love.graphics.print("space pressed for "..x.." times.",100,100)
end

1 个答案:

答案 0 :(得分:3)

使用love.keypressed事件处理程序可以获得更好的结果。

function love.load ()
    x = 0
end

function love.keypressed (key)
   if key == ' ' then
      x = x + 1
   end
end

function love.draw ()
    love.graphics.print ("space pressed for "..x.." times.", 100, 100)
end

如果您通过love.keyboard.setKeyRepeat重复输入密钥:

love.keyboard.setKeyRepeat (true)

function love.load ()
    x = 0
end

function love.keypressed (key, rep)
   if key == ' ' and not rep then
      x = x + 1
   end
end

function love.draw ()
    love.graphics.print ("space pressed for "..x.." times.", 100, 100)
end