我想知道如何使用Lua中另一个脚本的函数.例如,说GameObjectUtilities拥有许多GameObject脚本将使用的功能. Slime(一个GameObject)脚本想在GameObjectUtilities中使用一个函数. 我遇到麻烦让这个工作.我
我遇到麻烦让这个工作.我已经看了here,但我还是没有完全理解.我需要创建一个模块或表来保存GameObjectUtilities中的功能,以便其他脚本中使用它们的功能吗?如果是这样,那么最好的方法是什么呢?
很奇怪它实际上是正常工作,当我只是做正常的方式.问题是,当我运行我的应用程序,它尝试使用脚本,它不起作用.我不明白
不,你不必创建一个模块.如果你这样创建foo.lua:function double(n) return n * 2 end
然后在您的脚本中,需要“foo”,您将能够访问双重功能,就像在同一个脚本中定义一样.这些功能无法在您的本地使用,但它们在相同的环境中创建 – 所有模块的“名称”都是创建一个新表,并将当前环境重置为该表.
所以,你可以做:
function slimefunc(...) stuff() end
在GameObjectUtils.lua中,如果您需要“GameObjectUtils”,则Slime只能使用slimefunc.或者,如果你想要命名空间:
utils = {} function utils.slimefunc(...) stuff() end
它将作为utils.slimefunc可访问. (如果你这样做,你必须非常小心,不要让你的名字泄漏 – 明智地使用当地人.)