我目前正试图让Corona的应用程序转移到新的场景。经过多次试验和错误,并查看其他人的示例,我已将第二个场景加载到屏幕上。
但是,当加载第二个场景时,没有转换,前一个场景也保持可见,同时使scene1和scene2都可见。
我的main.lua
文件:
local composer = require("composer")
display.setStatusBar(display.HiddenStatusBar)
composer.gotoScene("scene1")
我的scene1.lua
文件:
local composer = require("composer")
local scene = composer.newScene()
function scene:create(event)
local sceneGroup = self.view
local transitionOptions =
{
effect = "fade",
time = 2000
}
local function gotoScene2(event)
composer.gotoScene("scene2", transitionOptions)
end
local rect = display.newRect(display.contentCenterX,
display.contentCenterY, 50, 50)
rect:addEventListener("tap", gotoScene2)
end
scene:addEventListener("create", scene)
return scene
我的scene2.lua
文件:
local composer = require("composer")
local scene = composer.newScene()
function scene:create(event)
local circ = display.newCircle(display.contentCenterX, 100, 25)
end
scene:addEventListener("create", scene)
return scene
我无法弄清楚我做错了什么,所以任何帮助都会很棒,谢谢。
答案 0 :(得分:2)
添加
sceneGroup:insert( rect )
scene:create
文件中scene1.lua
函数的末尾。它也适用于circ
场景中的scene2
。
来自Corona documentation
请记住,您必须将场景显示对象插入场景中 自我观点小组。如果创建显示对象但不插入它们 进入这个群体,他们将驻留在作曲家阶段和 他们不会被视为现场的一部分。用于显示对象 这应该是场景的一部分,由作曲家“管理” - 为 例如,在删除场景时清理 - 您必须插入它们 进入场景的self.view小组