如何在按下键时加一?
How to increment by one when key is pressed?
使用 love2d,我无法在发生某些事情时将变量递增 1。
例如,当 space 栏被按下时,我希望 x
只增加一个,并且在再次按下 space 栏之前不再改变。目前,当 space 条下降时,它会以非常快的速度继续添加一个,并一直持续到我释放 space 条。
这是现在的代码示例。
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
您可以使用 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
使用 love2d,我无法在发生某些事情时将变量递增 1。
例如,当 space 栏被按下时,我希望 x
只增加一个,并且在再次按下 space 栏之前不再改变。目前,当 space 条下降时,它会以非常快的速度继续添加一个,并一直持续到我释放 space 条。
这是现在的代码示例。
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
您可以使用 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