Cocos2d-x键盘事件键码不起作用。

我正在尝试使用Cocos2d-x在lua中设置键盘事件侦听器。 我已经让事件触发并让回调工作,但我得到的keycode与cc.KeyCode模块中的常量不匹配。

下面是相关的代码:

local function onKeyPressed(keyCode, event)
    local _, y = sp:getPosition() -- Get the sprite's position
    if keyCode == cc.KeyCode.KEY_SPACE then
        y = y + 20
        sp:setPositionY(y)
    end
end

local klistener = cc.EventListenerKeyboard:create()
klistener:registerScriptHandler(onKeyPressed, cc.Handler.EVENT_KEYBOARD_PRESSED)
eventDispatcher:addEventListenerWithSceneGraphPriority(klistener, layerForeground)

当我在按下空格键后打印keyCode和cc.KeyCode.KEY_SPACE常量时,这两个值根本不匹配。 我得到了59的keyCode,而常量是56。 我尝试过各种其他键,到目前为止,Tab似乎是唯一两个值匹配的键。

此外,我查看了此网站以检查我的键盘发送的代码,该网站给出的键码既不匹配报告的keyCode,也不匹配KeyCode模块中的常量。

点赞