2016-03-06 81 views
1

我正在制作一个游戏,其中有一堆覆盖图和一个名为game.lua的场景。我想要做到这一点,当我按回按钮(Android设备上的硬件按钮)时,如果有覆盖层,关闭覆盖层,并且如果没有覆盖层(只有game.lua场景),则会显示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) 

会发生什么事是,当我按后退按钮,同时叠加上,函数隐藏叠加,也显示exitmenu.lua覆盖。我不知道我的代码有什么问题,任何建议都非常感谢。

+0

在这里你可以回答(并接受)你自己的问题,而不是编辑。这样你的问题就从“未回答”列表中删除:) – hugomg

+0

哦,没有想到那个!谢谢你,先生。会做! – FICHEKK

回答

0

编辑:我修好了!我需要添加和event.phase == "down",这使得我的按钮按功能只有一次。这是修复。