2013-07-28 43 views
0

我遇到了Android後退鍵的問題。 Corona論壇並沒有幫助我。無論我在哪個場景中,後退按鈕只會讓我回到主菜單,而不是像它應該的前一個場景。Corona SDK Android後退鍵導航

我的應用程序的地圖...

菜單>菜單2>教程>教程1

教程應該回到菜單2,教程1應該回到教程,但都回去菜單。

我在下面的所有場景中都有這個功能,用它們各自的「changeScene」返回到前一個屏幕;但正如我所提到的,所有人都將我帶回主菜單。

local function moveBack() 

    Runtime:removeEventListener("key", onKeyEvent) 

    display.remove(allObjects);allObjects=nil 

    director:changeScene("previousScene", "crossfade") 

end 

local function onKeyEvent(event) 
     local returnValue = true 

     if (event.phase=="up" and event.keyName=="back") then 
       timer.performWithDelay(100,moveBack,1) 
     end 

     return returnValue 
end 
Runtime:addEventListener("key", onKeyEvent) 

回答

0

這個link也有同樣的問題。

希望這可能有助於解決您在Android上的後退按鈕導航問題,使用corona SDK。

0

首先,您可能不應該刪除密鑰的事件處理程序。如果這樣做,它將不會響應未來的後退按鈕。其次,導演:changeScene(「previousScene」,「crossfade」)將嘗試在名爲previousScene.lua的文件中引入一個場景。我不認爲這是你想要做的。

您可能應該設置一個「歷史記錄」表格,您可以在其中記錄下一個場景並返回到moveBack函數中,轉到列表中的最後一個場景,然後從表格中刪除條目。當你進入場景時,你會添加場景,最後返回到表格中。