以前的场景不会被删除

时间:2013-12-14 18:17:32

标签: android ios lua storyboard corona

我对电晕很新,我似乎找不到解决问题的方法:

我在游戏中有级别,我正在使用故事板,当玩家点击下一级按钮时,他们会被发送到level2场景,场景以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事件放在win函数中但没有任何反应。

由于

3 个答案:

答案 0 :(得分: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" )

您需要做的就是调用该功能并完成:)

希望这有帮助!

答案 1 :(得分: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)

答案 2 :(得分:0)

我设法解决了这个问题。我认为我对功能和组的位置做错了。无论如何,谢谢你的帮助!