Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 调用第二个场景时,第一个场景不会消失。卢阿_Lua_Coronasdk - Fatal编程技术网

Lua 调用第二个场景时,第一个场景不会消失。卢阿

Lua 调用第二个场景时,第一个场景不会消失。卢阿,lua,coronasdk,Lua,Coronasdk,我试图调用我的第二个场景,让第一个场景完全消失。第二个场景中的对象正在出现,但它们与第一个场景中的对象重叠。我尝试手动调用scene.hide和scene.destroy函数,还尝试将对象添加到组中。奇怪的是,有些对象在添加到组中时不可见,但其他对象却可见。请帮忙!另外,很抱歉,只有部分代码在单独的框中,但我不知道如何修复它 function scene:create( event ) local sceneGroup = self.view display.setStatus

我试图调用我的第二个场景,让第一个场景完全消失。第二个场景中的对象正在出现,但它们与第一个场景中的对象重叠。我尝试手动调用scene.hide和scene.destroy函数,还尝试将对象添加到组中。奇怪的是,有些对象在添加到组中时不可见,但其他对象却可见。请帮忙!另外,很抱歉,只有部分代码在单独的框中,但我不知道如何修复它

function scene:create( event )
    local sceneGroup = self.view

    display.setStatusBar( display.HiddenStatusBar )

    local group = display.newGroup()


    -------Set up green buttons
    local greenButton3=display.newImageRect("images/green-unclicked.png", 520,60)
    greenButton3.x=display.contentCenterX
    greenButton3.y=(970)
    greenButton3.button = 1

    local greenButton2=display.newImageRect("images/green-unclicked.png", 520,60)
    greenButton2.x=display.contentCenterX
    greenButton2.y=(870)
    greenButton2.button = 2

    local greenButton1=display.newImageRect("images/green-unclicked.png", 520,60)
    greenButton1.x=display.contentCenterX
    greenButton1.y=(770)
    greenButton1.button = 3
    --------SET UP RED BUTTONS
    local redButton1=display.newImageRect("images/red-dim.png",520,60)
    redButton1.x=display.contentCenterX
    redButton1.y=(40)
    local redButton2=display.newImageRect("images/red-dim.png",520,60)
    redButton2.x=display.contentCenterX
    redButton2.y=(140) 

    local redButton3=display.newImageRect("images/red-dim.png",520,60)
    redButton3.x=display.contentCenterX
    redButton3.y=(240)

    ---------------TEXT
    ---Questions
    local question1green=display.newText("How are you feeling?", 0,0,native.systemFontBold, 40)
    question1green.x=display.contentCenterX
    question1green.y=(705)

    local question1red=display.newText("The other person is feeling...", 0,0,native.systemFontBold, 40)
    question1red.x=display.contentCenterX
    question1red.y=(300)
    question1red.rotation = 180

    ---Answers
    --Green
    local answer1green=display.newText("Sad",0,0,native.systemFontBold, 40)
    answer1green.x=display.contentCenterX
    answer1green.y=(773)

    local answer2green=display.newText("Angry",0,0,native.systemFontBold, 40)
    answer2green.x=display.contentCenterX
    answer2green.y=(870)

    local answer3green=display.newText("I don't know",0,0,native.systemFontBold, 40)
    answer3green.x=display.contentCenterX
    answer3green.y=(973)

    --Red
    local answer1red=display.newText("Sad",0,0,native.systemFontBold, 40)
    answer1red.x=display.contentCenterX
    answer1red.y=(238)
    answer1red.rotation = 180

    local answer2red=display.newText("Angry",0,0,native.systemFontBold, 40)
    answer2red.x=display.contentCenterX
    answer2red.y=(141)
    answer2red.rotation = 180

    local answer3red=display.newText("Confused",0,0,native.systemFontBold, 40)
    answer3red.x=display.contentCenterX
    answer3red.y=(38)
    answer3red.rotation = 180

    --------CREATE EMPTY BODY OUTLINE
    local bodyOutline=display.newImageRect("images/bodyoutline.png", 380,560)
    bodyOutline.x=display.contentCenterX 
    bodyOutline.y=display.contentCenterY-10
    bodyOutline.rotation = 270

    --------move text to front after new buttons are created
    function moveTextToFront (event)
        answer1green:toFront()
        answer2green:toFront()
        answer3green:toFront()
        answer1red:toFront()
        answer2red:toFront()
        answer3red:toFront()
    end

    ------------------------------------------------------------
        --When the Buttons are Clicked
    ------------------------------------------------------------

    local function buttonClicked (event)
        print("here")
        --[[function destroyAll (event)
            greenButton1:removeSelf()
            greenButton1 = nil
            greenButton2:removeSelf()
            greenButton2 = nil
            greenButton3:removeSelf()
            greenButton3 = nil
            redButton1:removeSelf()
            redButton1 = nil
            redButton2:removeSelf()
            redButton2 = nil
            redButton3:removeSelf()
            redButton3 = nil
            print("destroyed")

            question1green:removeSelf()
            question1green = nil
            question1red:removeSelf()
            question1red = nil
            answer1green:removeSelf()
            answer1green = nil
            answer2green:removeSelf()
            answer2green = nil
            answer3green:removeSelf()
            answer3green = nil
            answer1red:removeSelf()
            answer1red = nil
            answer2red:removeSelf()
            answer2red = nil
            answer3red:removeSelf()
            answer3red = nil
            --]]
        --end
        --destroyAll()
        ------------------------------------------------------------
        --Start of Results Creation (SETUP)
        ------------------------------------------------------------
        function createGray1 (event)
            local gray1=display.newImageRect("images/grayRSU.png",520,60)
            gray1.x=display.contentCenterX
            gray1.y=(970)
        end

        function createGray2 (event)
            local gray2=display.newImageRect("images/grayRSU.png",520,60)
            gray2.x=display.contentCenterX
            gray2.y=(870)
        end

        function createGray3 (event)
            local gray3=display.newImageRect("images/grayRSU.png",520,60)
            gray3.x=display.contentCenterX
            gray3.y=(770)
        end

        function createGray4 (event)
            local gray4=display.newImageRect("images/grayUD.png",520,60)
            gray4.x=display.contentCenterX
            gray4.y=(240)
        end

        function createGray5 (event)
            local gray5=display.newImageRect("images/grayUD.png",520,60)
            gray5.x=display.contentCenterX
            gray5.y=(140)
        end

        function createGray6 (event)
            local gray6=display.newImageRect("images/grayUD.png",520,60)
            gray6.x=display.contentCenterX
            gray6.y=(40)
        end

        function firstClicked (event)
            local greenClicked1=display.newImageRect("images/green-clicked.png",520,60)
            greenClicked1.x=display.contentCenterX
            greenClicked1.y=(970)

            local redClicked1=display.newImageRect("images/red-clicked.png",520,60)
            redClicked1.x=display.contentCenterX
            redClicked1.y=(240)
        end

        function secondClicked (event)
            local greenClicked2=display.newImageRect("images/green-clicked.png",520,60)
            greenClicked2.x=display.contentCenterX
            greenClicked2.y=(870)

            local redClicked2=display.newImageRect("images/red-clicked.png",520,60)
            redClicked2.x=display.contentCenterX
            redClicked2.y=(140)
        end

        function thirdClicked (event)
            local greenClicked3=display.newImageRect("images/green-clicked.png",520,60)
            greenClicked3.x=display.contentCenterX
            greenClicked3.y=(770)

            local redClicked3=display.newImageRect("images/red-clicked.png",520,60)
            redClicked3.x=display.contentCenterX
            redClicked3.y=(40)
        end
        ------------------------------------------------------------
        --End of Results Creation (SETUP)
        ------------------------------------------------------------
        --local function sceneDone (event)


        --end
            -------------------------
            --transition to next scene IN THIS FUNCTION
        if (event.target.button == 1) then
            greenButton1:removeSelf()
            greenButton1 = nil
            greenButton2:removeSelf()
            greenButton2 = nil
            greenButton3:removeSelf()
            greenButton3 = nil
            redButton1:removeSelf()
            redButton1 = nil
            redButton2:removeSelf()
            redButton2 = nil
            redButton3:removeSelf()
            redButton3 = nil
            firstClicked()
            createGray2()
            createGray3()
            createGray5()
            createGray6()
            --composer.removeScene("firstscene")

        end
        if (event.target.button == 2) then
            greenButton1:removeSelf()
            greenButton1 = nil
            greenButton2:removeSelf()
            greenButton2 = nil
            greenButton3:removeSelf()
            greenButton3 = nil
            redButton1:removeSelf()
            redButton1 = nil
            redButton2:removeSelf()
            redButton2 = nil
            redButton3:removeSelf()
            redButton3 = nil
            secondClicked()
            createGray1()
            createGray3()
            createGray4()
            createGray6()

            --composer.removeScene("firstscene")
        end
        if (event.target.button == 3) then
            greenButton1:removeSelf()
            greenButton1 = nil
            greenButton2:removeSelf()
            greenButton2 = nil
            greenButton3:removeSelf()
            greenButton3 = nil
            redButton1:removeSelf()
            redButton1 = nil
            redButton2:removeSelf()
            redButton2 = nil
            redButton3:removeSelf()
            redButton3 = nil
            thirdClicked()
            createGray1()
            createGray2()
            createGray4()
            createGray5()

            --composer.removeScene("firstscene")
        end
        moveTextToFront()
        composer.gotoScene("secondscene")
    end

    greenButton1:addEventListener("touch", buttonClicked)
    greenButton2:addEventListener("touch", buttonClicked)
    greenButton3:addEventListener("touch", buttonClicked)
end --end of images and stuff

function scene:show( event )
    local sceneGroup = self.view
    local phase = event.phase

    if phase == "will" then
        -- Called when the scene is still off screen and is about to move on screen
    elseif phase == "did" then
        -- Called when the scene is now on screen
        -- 
        -- INSERT code here to make the scene come alive
        -- e.g. start timers, begin animation, play audio, etc.
    end 
end

function scene:hide( event )
    local sceneGroup = self.view
    local phase = event.phase
        print("hidden2")
    if event.phase == "will" then
        -- Called when the scene is on screen and is about to move off screen
        --
        -- INSERT code here to pause the scene
        -- e.g. stop timers, stop animation, unload sounds, etc.)
    elseif phase == "did" then
        print("hidden")
        -- Called when the scene is now off screen
    end 
end

function scene:destroy( event )
    local sceneGroup = self.view

    -- Called prior to the removal of scene's "view" (sceneGroup)
    -- 
    -- INSERT code here to cleanup the scene
    -- e.g. remove display objects, remove touch listeners, save state, etc.

    if playBtn then
        playBtn:removeSelf()    -- widgets must be manually removed
        playBtn = nil
    end
end

---------------------------------------------------------------------------------

-- Listener setup
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )

-----------------------------------------------------------------------------------------

return scene

我在代码中看不到您正在将对象添加到sceneGroup self.view中。确保将它们插入到该组中,例如scneeGroup:insert greenButton3


更改场景时,无需隐藏场景组中的对象,因为它们将被Corona自动隐藏。

您必须将所有显示对象添加到场景组中

function scene:create( event )
local sceneGroup = self.view

display.setStatusBar( display.HiddenStatusBar )

local group = display.newGroup()


-------Set up green buttons
local greenButton3=display.newImageRect("images/green-unclicked.png", 520,60)
greenButton3.x=display.contentCenterX
greenButton3.y=(970)
greenButton3.button = 1
sceneGroup :insert(greenButton3)
end 
尝试将所有文本对象都添加到场景组中

function scene:create( event )
local sceneGroup = self.view

display.setStatusBar( display.HiddenStatusBar )

local group = display.newGroup()


-------Set up green buttons
local greenButton3=display.newImageRect("images/green-unclicked.png", 520,60)
greenButton3.x=display.contentCenterX
greenButton3.y=(970)
greenButton3.button = 1
sceneGroup :insert(greenButton3)
end