如何在corona SDK中制作控制变量?

时间:2013-03-31 00:39:27

标签: variables sdk corona

我正在尝试创建一个名为star1vis的变量( - star1vis = 0的代码) 当碰撞发生时,star1vis为1(代码 - ..... then star1vis = 1)。 在名为level1com的其他Lua文件中,我使用的是全局变量 如果碰撞发生,如果没有发生,我可以看到明星 那颗恒星是看不见的。我对GML(游戏制作者语言 - 类似于C ++)有很大的帮助 并且用那种语言我就这样做,所以我的问题是如何创建该变量 在lua语言,因为我得到零值错误 - 没有那个代码,它的工作完美。

1 个答案:

答案 0 :(得分:1)

最重要的是,你在哪里首次创建了star1vis变量?

如果您在模块中创建它,可以说是module1.lua,那么您可以使用module1.star1vis轻松地访问它。

但是如果你在main.lua中创建了star1vis,你可以在另一个模块中覆盖它。见下面的exapmle:

main.lua:

.....
star1vis = 0 --star1vis first created here
.....

module1.lua:

.....
star1vis = 1 --you overwrite star1vis here. That means there are 2 star1vis variables with same names in different modules right now. 
-----
-----
print( star1vis ) --if you do this without creating a new variable in module1.lua, this will reach the variable in main.lua.
-----

我想你想在main.lua中拥有你的变量,并且能够从另一个模块中更改它。如果是这样,以下是您必须做的事情:

main.lua:

----
star1vis = 0  --first created
function changestar1vis( new )
    star1vis = new
end
-----

module1.lua:

------
changestar1vis( 0 )
------

希望它有所帮助...