在gotoScene中传递参数的Corona。

我参考 Corona 的网站 引用链接 使用这个方法将参数传递到另一个场景。

main.lua

local options =
        {
            effect = "slideLeft",
            time = 800,
            params = { var1 = "custom", myVar = "another" }
        }

        storyboard.gotoScene( "notificationPage", options )

然后在我的另一个场景中:

notificationPage.lua

function scene:enterScene( event )
   local group = self.view

local params = event.params
print( params.var1 )
print( params.myVar )
end

它返回错误信息 attempt to index local 'params' (a nil value)。为什么会这样?我应该如何正确地实现它?

点赞
用户1925928
用户1925928

应该将它放在 "createScene" 中而不是 "enterScene" 中。

而且,如您在 Corona 文档中所读到的那样,“这个库已经被计划停用了。如果你正在开始一个新项目,你应该使用 composer.* 场景管理库代替。”

2014-06-30 14:01:12
用户2895078
用户2895078

只能在 'createScene' 事件处理程序中使用,尝试以下代码:

function oScene:createScene( oEvent )
    local oGroup = self.view
    local aParams = oEvent.params

    if aParams then
        print (aParams.var1)
        print (aParams.myVar)
    end
2014-06-30 14:58:24
用户8595506
用户8595506

你应该使用 scene:create 函数:

function scene:create( event )
    local sceneGroup = self.view
    local params = event.params
    print( params.var1 )
    print( params.myvar )

end

你可以在 coronalabs.com 上下载场景模板。

2021-01-17 08:13:15