为什么 corona composer 不让你回到 main.lua 页面

Why doesn't corona composer let you go back to the main.lua page

当我使用

composer.gotoscene("main")

弹出一条错误消息:

"Attempt to concatenate global 'sceneName' stack traceback".

如果我使用另一个页面而不是 main.lua(例如 "scene2")进行重定向,那么它就可以工作。

游戏的所有代码都应该在其自己的 Composer 场景中,而不是 main.lua。如果带有播放按钮的 Composer 场景称为 HomeScene.lua,在 main.lua 中,您将放置

local composer = require "composer"
composer.gotoScene( "HomeScene" )

这使得带有播放按钮的场景首先加载并出现。如果你想在玩家有机会按下播放并开始游戏之前初始化你的游戏场景,你也可以在 main.lua 中添加 composer.loadScene("GameScene") 。这只是创建场景并存储它而不显示它。

HomeScene.lua 中,如果播放按钮是一个名为 playButton 的 DisplayObject,您将执行类似

的操作
local composer = require "composer"

local function handleTouch( event )
    if event.phase == "began" then
        composer.gotoScene( "GameScene" )
    end
end

playButton:addEventListener( "touch", handleTouch )

希望对您有所帮助。