为什么 Corona Composer 不让你返回到 main.lua 页面?

当我使用

composer.gotoscene("main")

时,会出现一条错误消息:

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

如果我使用另一个页面来重定向(例如 "scene2"),那么它就可以工作了。

点赞
用户3455883
用户3455883

所有游戏代码应该在其自己的Composer场景中,而不是在 main.lua 文件中。如果带有播放按钮的Composer场景名为 HomeScene.lua,在 main.lua 中应该放置以下代码:

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

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

HomeScene.lua 中,如果播放按钮是一个名为 playButtonDisplayObject,您可以采取类似以下方式的代码:

local composer = require "composer"

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

playButton:addEventListener("touch", handleTouch)

希望这可以帮助到您。

2017-03-03 02:48:10