我正在制作一个游戏,其中我有一堆叠加层和一个名为game.lua
的场景。我想要做到这一点,当我按下后退按钮(Android设备上的硬件按钮)时,如果有叠加,游戏会关闭叠加层,如果没有叠加(只有game.lua
场景),它会显示{{ 1}}(简单的弹出菜单)。
exitmenu.lua
当覆盖打开时按下后退按钮时,功能会隐藏覆盖图并显示function onKeyEvent( event )
if(event.keyName == "back") then
local CurrentScene = composer.getSceneName("current")
local CurrentOverlay = composer.getSceneName("overlay")
if CurrentScene == "Scenes.game" and CurrentOverlay == nil then
composer.showOverlay("Scenes.exitmenu", {isModal = true})
return true
elseif CurrentOverlay ~= nil and CurrentOverlay ~= "Scenes.exitmenu" then
composer.hideOverlay("fade", 500)
return true
end
end
end
Runtime:addEventListener("key", onKeyEvent)
覆盖图。我不知道我的代码有什么问题,我们非常感谢任何建议。
答案 0 :(得分:0)
event.phase == "down"
,这使我的按钮按下只执行一次。那就是修复。