Corona storyboard.gotoScene选项不起作用

时间:2013-05-04 09:53:19

标签: sdk storyboard transition corona options

我在Corona中使用一行简单的代码来在场景之间转换 - 转换发生但效果却没有。

storyboard.gotoScene( "splash", "fade", 2000 )

我已经编译了Xcode模拟器的构建,以查看淡入淡出效果是否可以在那里工作而它没有。

完整代码 -

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

 local SplashGroup = display.newGroup()

 local function onBackgroundTouch()
     storyboard.gotoScene("mainmenu", "fade", 2000)
 end

 --Called if the scene hasn't been previously seen

function scene:createScene (event)
     local logoImage = display.newImage("RoxisLogo.png")
     logoImage.x = display.contentWidth/2
     logoImage.x = display.contentHeight/2
     SplashGroup:insert(logoImage)
     logoImage:addEventListener("tap", onBackgroundTouch)
 end

 function scene:enterScene(event)
     SplashGroup.alpha=1
     end

 function scene:exitScene(event)
     SplashGroup.alpha=0
end

--"createScene" is called whenever the scene is FIRST called
scene:addEventListener("createScene", scene)

 --"enterScene event is dispatched whenever scene transition has finished
 scene:addEventListener("enterScene", scene)

 --"exitScene" event is dispatched before the next scene's transition begins
 scene:addEventListener("exitScene", scene)

return scene

3 个答案:

答案 0 :(得分:1)

我没有看到你在场景的视图中添加任何内容。通常在createScene和enterScene的开头有一行如下:

group = scene.view

此组是一个显示组,如果您希望故事板打开或关闭场景,则必须将每个显示对象插入该组。您正在创建一个名为localGroup的组,这很好,但该组需要放入“组”

此外,你在createScene()中所做的事情发生在屏幕外,然后它在屏幕上转换。如果在enterScene中创建显示对象,它们只会弹出视图。

最后,您要在enterScene中设置alpha并将其隐藏在exitScene中。这也将杀死任何过渡。我放松了那些alpha设置安装在你的createScene()和enterScene()函数中添加那些“group = scene.view”行并将你的对象添加到该组。

答案 1 :(得分:0)

请使用 -

本地组= self.view并添加
group:创建场景对象后插入(场景)。

希望,它会对你有帮助。

答案 2 :(得分:0)

一个常见的错误是您忘记将视图元素添加到self.view组。通常,故事板模板在local group = self.view函数的开头包含scene:createScene。尝试将视图对象插入该组。然后重试您的过渡。