代码之家  ›  专栏  ›  技术社区  ›  Ross Watson

Corona sdk作曲家不会回到之前的场景

  •  0
  • Ross Watson  · 技术社区  · 9 年前

    我已经使用coraSDKcomposer在我的应用程序中添加了场景。我有一个选项按钮,可以进入选项场景。然而,当我在选项场景上按下按钮返回主菜单场景时,它不起作用

    主菜单.lua

    local composer = require( "composer" )
    local scene = composer.newScene()
    
    -- "scene:create()"
    function scene:create( event )
    
        local sceneGroup = self.view
    
        local backgroundimg = display.newImage("image/mainBackground.png")
        backgroundimg.x = display.contentWidth*0.5
        backgroundimg.y = display.contentHeight*0.5
        sceneGroup:insert( backgroundimg )
    
        local function startListener( event )
            composer.gotoScene( "scene.play" )
        end
    
        local start = display.newRect(65,99.5,161,161)
        start.alpha = 0.01
        start:addEventListener( "tap", startListener )
    
        local function leaderListener( event )
            composer.gotoScene( "scene.leaderboards" )
        end
    
        local leader = display.newRect(208,227.5,147,147)
        leader.alpha = 0.01
        leader:addEventListener( "tap", leaderListener )
    
        local function optionsListener( event )
            composer.gotoScene( "scene.options" )
        end
    
        local options = display.newRect(332,92.5,147,147)
        options.alpha = 0.01
        options:addEventListener( "tap", optionsListener )
    
        local function quitListener( event )
           os.exit()
        end
    
        local quit = display.newRect(432,240.5,120,120)
        quit.alpha = 0.01
        quit:addEventListener( "tap", quitListener )
    
    end
    
    -- "scene:show()"
    function scene:show( event )
    
        local sceneGroup = self.view
        local phase = event.phase
    
        if ( phase == "will" ) then
    
        elseif ( phase == "did" ) then
    
        end
    end
    
    -- "scene:hide()"
    function scene:hide( event )
    
        local sceneGroup = self.view
        local phase = event.phase
    
        if ( phase == "will" ) then
    
        elseif ( phase == "did" ) then
    
        end
    end
    
    -- "scene:destroy()"
    function scene:destroy( event )
    
        local sceneGroup = self.view
    
    end
    
    scene:addEventListener( "create", scene )
    scene:addEventListener( "show", scene )
    scene:addEventListener( "hide", scene )
    scene:addEventListener( "destroy", scene )
    
    return scene
    

    期权.lua

    local composer = require( "composer" )
    
    local scene = composer.newScene()
    
    -- "scene:create()"
    function scene:create( event )
    
        local sceneGroup = self.view
    
        local function startListener( event )
            composer.gotoScene( "scene.mainMenu" )
        end
    
        local start = display.newRect(65,99.5,161,161)
        start.alpha = 1
        start:addEventListener( "tap", startListener )
    end
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   rsc user10692571    9 年前

    尝试使用:

    composer.gotoScene( "mainMenu" )
    

    此外,您没有将对象添加到场景组。因此,当场景发生变化时,不会自动删除对象。