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