使用'gotoScene'时,会出现场景,但前一个场景仍然存在

时间:2017-04-19 14:02:46

标签: lua corona

我目前正试图让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

我无法弄清楚我做错了什么,所以任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:2)

添加

sceneGroup:insert( rect )

scene:create文件中scene1.lua函数的末尾。它也适用于circ场景中的scene2

来自Corona documentation

  

请记住,您必须将场景显示对象插入场景中   自我观点小组。如果创建显示对象但不插入它们   进入这个群体,他们将驻留在作曲家阶段和   他们不会被视为现场的一部分。用于显示对象   这应该是场景的一部分,由作曲家“管理” - 为   例如,在删除场景时清理 - 您必须插入它们   进入场景的self.view小组