Попытка объединить глобальное имя_сцены (нулевое значение) - Lua - PullRequest
0 голосов
/ 19 апреля 2020

Я на самом деле скопировал и вставил этот код, и он работал для моего друга.

Это код для основного. lua


composer = require( "composer" )

composer.gotoScene("mainMenu")  

В том же каталоге у меня есть файл с именем "mainMenu", это код:

local scene = composer.newScene()

function scene:show(event)
  -------------
end


scene:addEventListener( "show", scene )
return scene

Когда я запускаю приложение, я получаю сообщение об ошибке "Попытка объединить глобальное имя сцены (значение nil)"

1 Ответ

0 голосов
/ 20 апреля 2020

Попробуйте запустить шаблон сцены. Попробуйте потребовать composer для локальной переменной в файле сцены.

https://docs.coronalabs.com/api/library/composer/index.html#scene - шаблон

local composer = require( "composer" )

local scene = composer.newScene()

-- -----------------------------------------------------------------------------------
-- Code outside of the scene event functions below will only be executed ONCE unless
-- the scene is removed entirely (not recycled) via "composer.removeScene()"
-- -----------------------------------------------------------------------------------




-- -----------------------------------------------------------------------------------
-- Scene event functions
-- -----------------------------------------------------------------------------------

-- create()
function scene:create( event )

    local sceneGroup = self.view
    -- Code here runs when the scene is first created but has not yet appeared on screen

end


-- show()
function scene:show( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- Code here runs when the scene is still off screen (but is about to come on screen)

    elseif ( phase == "did" ) then
        -- Code here runs when the scene is entirely on screen

    end
end


-- hide()
function scene:hide( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- Code here runs when the scene is on screen (but is about to go off screen)

    elseif ( phase == "did" ) then
        -- Code here runs immediately after the scene goes entirely off screen

    end
end


-- destroy()
function scene:destroy( event )

    local sceneGroup = self.view
    -- Code here runs prior to the removal of scene's view

end


-- -----------------------------------------------------------------------------------
-- Scene event function listeners
-- -----------------------------------------------------------------------------------
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )
-- -----------------------------------------------------------------------------------

return scene
...