2017-04-19 81 views
0

我目前正在嘗試在Corona中獲取應用程序以移至新場景。經過多次嘗試和錯誤,並從其他人的例子看,我已經把我的第二個場景加載到屏幕上。使用'gotoScene'時,出現場景,但前一場景仍然存在

但是,當加載第二個場景時,沒有過渡,並且前一個場景也保持可見狀態,使scene1和scene2都可見。

main.lua文件:

local composer = require("composer") 

display.setStatusBar(display.HiddenStatusBar) 

composer.gotoScene("scene1") 

scene1.lua文件:

local composer = require("composer") 
local scene = composer.newScene() 

function scene:create(event) 

    local sceneGroup = self.view 

    local transitionOptions = 
    { 
    effect = "fade", 
    time = 2000 
    } 

    local function gotoScene2(event) 

    composer.gotoScene("scene2", transitionOptions) 

    end 

    local rect = display.newRect(display.contentCenterX, 
display.contentCenterY, 50, 50) 

    rect:addEventListener("tap", gotoScene2) 

end 

scene:addEventListener("create", scene) 

return scene 

scene2.lua文件:

local composer = require("composer") 
local scene = composer.newScene() 

function scene:create(event) 

    local circ = display.newCircle(display.contentCenterX, 100, 25) 

end 

scene:addEventListener("create", scene) 

return scene 

我想不出什麼我做錯了,所以任何幫助將是偉大的,謝謝。

回答

2

scene:create函數的末尾添加

sceneGroup:insert(rect) 

scene1.lua文件。它也適用於circscene2現場。

從電暈documentation

請記住,你必須插入場景顯示對象到場景中的 self.view組。如果您創建顯示對象但不將它們插入到這個組中,它們將駐留在Composer階段前面,並且它們不會被視爲場景的一部分。顯示對象 這應該是現場的一部分,「管理」,由作曲家 - 爲 例如,當場景被刪除清理 - 必須將它們插入到 場景的self.view組