我在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
答案 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
。尝试将视图对象插入该组。然后重试您的过渡。