Love2d 在 Lua 中使用时无法注册空格键的按键事件

以下是我用于在小型平台游戏中实现跳跃机制的示例函数。

function love.keypressed(key)
    if (key == "w" or key == "up" or key == "space") and player.grounded then
        player.grounded = false
        player.yVelocity = player.JUMP
    end
end

该函数可以检测按键事件,并根据按下的键运行相应的代码,使玩家跳跃。其中,“w”和“up”键正常工作,但是当我尝试按下空格键时,却没有反应。我以为问题在于我使用了错误的名称来引用空格键,但根据 Love2d 的文档,我的引用是正确的。需要注意的是,这些键在脚本中没有被其他任何代码使用,因此不存在外部代码的干扰。

点赞
用户7441934
用户7441934

我在发布之前就解决了,但是我会分享我的答案以防其他人被卡住。显然我正在使用一个较旧版本的Love2d,而在我的版本中,空格键是通过使用实际的空格字符表示的:" "。当前版本将“space”作为参考。

2018-01-11 17:05:55
用户8267449
用户8267449

正如你所说,在旧版本的love2d中,这是“ ”,但现在是“空格”,你可以通过以下方式检查计算机的所有键:

function love.keypressed(key)
  print(key)
end
2018-02-11 14:53:35