0

我在 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
4

3 回答 3

1

我看不到您在场景视图中添加任何内容的位置。通常在 createScene 和 enterScene 的开头有这样一行:

group = scene.view

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

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

最后,您在 enterScene 中设置 alpha 并将其隐藏在 exitScene 中。这也会杀死任何转换。我会松开那些 alpha settngs install 将那些“group = scene.view”行添加回您的 createScene() 和 enterScene() 函数中,并将您的对象添加到该组中。

于 2013-05-05T20:03:50.970 回答
0

请用 -

local group = self.view 并
在创建场景对象后添加 group:insert(scene)。

希望,它会帮助你。

于 2013-05-07T06:18:02.913 回答
0

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

于 2013-08-04T05:43:48.987 回答