如何在按键时递增一?

使用love2d时,当某些事件发生时,我无法将变量增加1。

例如,当按空格键时,我希望 x 只增加1,直到再次按下空格键才改变。当前,在按下空格键时,它会以非常快的速度一直增加1,直到我释放空格键。

以下是目前的代码示例。

`` ` 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

```

点赞
用户2505965
用户2505965

你可以使用 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 ("空格键已按下"..x.."次。", 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 ("空格键已按下"..x.."次。", 100, 100)
end
2015-07-16 09:41:20