如何在 corona sdk (Lua) 中将变量从一个脚本获取到其他脚本



我想从像main.lua这样的脚本中获取一个变量并将其menu.lua

有很多方法可以做到这一点。我给你两个。

全局变量

可能是最简单的方法,但也会很快变得混乱。

您的项目/主项目.lua

--
-- main.lua
--
myVariableFromMain1 = "hello world"
myVariableFromMain2 = "another sample variable"
composer.gotoScene( "menu" )

您的项目/菜单.lua

--
-- menu.lua
--
local composer = require( "composer" )
local scene = composer.newScene()
function scene:create( event )
local sceneGroup = self.view
print(myVariableFromMain1) -- prints "hello world!"
print(myVariableFromMain2) -- prints "another sample variable"
end
scene:addEventListener( "create", scene )
return scene

composer.gotoScene( ... )中传递参数

这是科罗纳推荐的方式。查看 https://docs.coronalabs.com/api/library/composer/gotoScene.htmlScene Options

您的项目/主项目.lua

--
-- main.lua
--
composer.gotoScene( "menu", { params = {
myVariableFromMain1 = "hello world!",
myVariableFromMain2 = "another sample variable"
}} )

您的项目/菜单.lua

--
-- menu.lua
--
local composer = require( "composer" )
local scene = composer.newScene()
function scene:create( event )
local sceneGroup = self.view
print(myVariableFromMain) -- prints "hello world!"
end
scene:addEventListener( "create", scene )
return scene

如果您想了解另一种menu.luamain.lua共享信息的方式,请在评论中询问我。我很高兴添加到这篇文章中。

最新更新