我对电晕很新,我似乎找不到解决问题的方法:
我在游戏中有级别,我正在使用故事板,当玩家点击下一级按钮时,他们会被发送到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函数中但没有任何反应。
由于
答案 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)
我设法解决了这个问题。我认为我对功能和组的位置做错了。无论如何,谢谢你的帮助!