storyboard.showOverlayで表示した画面から、Overlayを閉じる場合はhideOverlayを使用しますが
hideOverlayを使わないケースについて、少しわかりにくかったのでまとめてみました。
以下は、overlay画面から元画面をリロードする場合の内容になります。
(1)overlayを表示する元画面を表示(stage.lua)
↓
(2)overlayで「リロードボタン」を表示(result.lua)
↓
(3)元画面のスクリーンを削除して再表示(reload.lua)
ソースはこちら
ohwakana/corona-overlay-sample
reload.luaにて元のスクリーンを削除し、gotoSceneで再度表示するようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
local function restartScene (event) storyboard.removeScene("stage") storyboard.gotoScene ("stage", {time=400, effect= "fade"}) end -- Called when the scene's view does not exist: function scene:createScene( event ) local group = self.view loadText = display.newText("loading......", 0, 0 , native.systemFontBold, 16) loadText.x = display.contentWidth * 0.5 loadText.y = display.contentHeight * 0.5 group:insert (loadText) end -- Called immediately after scene has moved onscreen: function scene:enterScene( event ) local group = self.view -- INSERT code here (e.g. start timers, load audio, start listeners, etc.) loadText.alpha = 1.0 transition.to( loadText, {time=250, alpha = 0.0, onComplete=restartScene} ) end |