我正在尝试使用lua中的Cocos2d-x设置键盘事件监听器。我有事件触发和回调工作,但我得到的密钥代码与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似乎是唯一一个两个值匹配的键。
此外,我查看this site来检查键盘发送的代码,并且网站提供的密钥代码既不匹配报告的keyCode也不匹配KeyCode模块中的常量。