【发布时间】:2017-07-18 17:14:40
【问题描述】:
我想在我的游戏中添加一个技能,如果你按住 t,敌人就会减速。 love.keyboard.isDown 不会让我在松开 t 键后让敌人恢复到原来的速度。他们是我可以做到这一点的另一种方式吗?
【问题讨论】:
我想在我的游戏中添加一个技能,如果你按住 t,敌人就会减速。 love.keyboard.isDown 不会让我在松开 t 键后让敌人恢复到原来的速度。他们是我可以做到这一点的另一种方式吗?
【问题讨论】:
请注意,与love.keyboard.isDown 不同,它是一个回调函数。当释放键 t 时,使用它来注册动作。
【讨论】:
如果你检查false 的时间,使用love.keyboard.isDown 会让你恢复原来的速度,就像这样:
if love.keyboard.isDown('t') then
enemy_speed = 15
else
enemy_speed = 30 -- 't' key has been released
end
但还有另一种方法可以做到这一点。使用love.keypressed 和love.keyreleased,像这样:
function love.keypressed(key)
if key == 't' then
enemy_speed = 15
end
end
function love.keyreleased(key)
if key == 't' then
enemy_speed = 30 -- 't' key has been released
end
end
【讨论】:
如果我理解的话,love.keyboard.isDown("t") 是针对 love.update() 函数的,无论如何它都会重复该函数。所以在这种情况下,在你的 main.lua 文件中创建一个这样的函数:
function love.keypressed(k)
if k == "t" then
// Code goes in here
end
end
像这样,一旦按下键,它就会激活。
【讨论】: