2013-12-14 41 views
0

我是很新,日冕和我似乎無法找到我的問題的解決方案:一個場景不會被刪除

我有我的比賽水平,我使用的故事板,當玩家點擊他們發送到level2場景的nextlevel按鈕,場景以storyboard.removeALL()開始,但不會刪除前一個場景,並且我的背景會混亂。

function nextlevel(event) 
    storyboard.gotoScene("level2") 
end 

function win() 
    nextlevelbutton = display.newRoundedRect(display.contentCenterX, 285, 120, 30, 3) 
    nextlevelbutton:setFillColor(61/255,61/255,61/255) 
    nextleveltxt = display.newText({ text = "Next Level", font = native.systemFontBold, fontsize = 20, x= display.contentCenterX, y = 285 }) 
    nextlevelbutton:addEventListener("tap", nextlevel) 

    end 

這是場景中的所有內容:enterScene函數。

這是level2的場景的開始:

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

storyboard.removeAll() 

我試圖把nextlevel事件贏函數內部,但什麼都沒有發生。

感謝

回答

0

這會幫助你:

http://www.coronalabs.com/blog/2013/04/02/cleaning-up-display-objects-andlisteners/

如果您加載一個菜單,你想從所有其他類中刪除一切,然後使用:

storyboard.purgeAll() 

應停止所有聽衆並移除所有對象。

你可以做的另一件事是添加以下代碼:

function scene:didExitScene(event) 
storyboard.purgeScene("sceneyouareleaving") 
end 
scene:addEventListener("didExitScene") 

所有你需要做的就是調用該函數和你做:)

希望這有助於!

+0

嗯,我想這兩種方法了,但它似乎沒有之前的「storyboard.gotoScene(‘級別2’)」工作.. – Yupie

+0

試試「storyboard.purgeScene(‘sceneyouareleaving’)」 – apmartin1991

+0

嗯,這不在一個函數中,我首先說:storyboard.purgescene和一個計時器延遲我使用storyboard.gotoScene,但它給了我一個錯誤:嘗試索引字段contentbounds一個零值 – Yupie

0

而且,如果你「搞砸」的背景可能會建議,請記得添加所有對象創建,查看組:

function scene:createScene(event) 
    local group = self.view 
    local params = event.params 

然後當你創建對象,例如:

background = display.newImageRect("gfx/bg.png", 1425, 900) 
background:setReferencePoint(display.TopLeftReferencePoint) 
background.x = 0 
background.y = 0 
background:setFillColor(0, 255, 255) 

記得將它添加到組:

group:insert(background) 
+0

在我的creationcene函數中,我創建了所有的顯示對象,最後我將它們全部放入組中。之後,我開始我的入門級功能,並使一些東西移動等。在entercene中的一個功能,我把:storyboard.gotoScene(「level2」)。這然後把我帶到我的第二個場景。在那裏我還放了:storyboard.removeAll()。但是第一個場景中的物體似乎並沒有被移除,仍然停留在第二個場景中。 – Yupie

0

我總算解決了。我認爲我在職能和組織的職位上做錯了事。無論如何感謝您的幫助!