Corona: попытка объединить глобальное имя сцены

У меня есть этот код:

local storyboard = require "storyboard"

local options =
{
    effect = "slideLeft",
    time = 800
}

storyboard.gotoScene( "scene1", options )

В том же каталоге у меня есть файл с именем «scene1.lua», но консоль сообщает об этой ошибке:

attempt to concatenate global 'sceneName' (a nil value) in function 'gotoScene'

Любая идея, потому что это произошло? Спасибо


person Xose    schedule 27.12.2012    source источник
comment
Как мы можем сказать, что не так с .gotoScene, если вы не опубликовали его исходный код?   -  person Oleg V. Volkov    schedule 27.12.2012
comment
Это весь код файла (main.lua)   -  person Xose    schedule 27.12.2012
comment
Нам нужно увидеть исходный код функции gotoScene, чтобы полностью понять сообщение об ошибке. Если бы мне пришлось угадывать, возможно, вам нужно добавить свойство sceneName к параметрам?   -  person hugomg    schedule 27.12.2012
comment
См. developer.coronalabs.com/reference/index/storyboardgotoscene.   -  person lhf    schedule 27.12.2012
comment
missngno: в учебниках это весь код для gotoScene lhf: как видите, у меня тот же код, что и на этой справочной странице   -  person Xose    schedule 28.12.2012


Ответы (2)


Я нашел решение:

В scene1.lua должны быть следующие методы и прослушиватели событий:

local storyboard = require( "storyboard" )
local scene = storyboard.newScene()

function scene:createScene( event )

end

function scene:enterScene( event )

end

function scene:exitScene( event )

end

function scene:destroyScene( event )

end

scene:addEventListener( "createScene", scene )
scene:addEventListener( "enterScene", scene )
scene:addEventListener( "exitScene", scene )
scene:addEventListener( "destroyScene", scene )

return scene
person Xose    schedule 28.12.2012

Вы просто пропали без вести

return scene

в вашем файле scene1.lua. Все функции сцены являются необязательными.

person john_c    schedule 09.06.2013