当前位置 : 主页 > 网络编程 > lua >

Lua – 如何使用另一个脚本的函数

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想知道如何使用Lua中另一个脚本的函数.例如,说GameObjectUtilities拥有许多GameObject脚本将使用的功能. Slime(一个GameObject)脚本想在GameObjectUtilities中使用一个函数. 我遇到麻烦让这个工作.我
我想知道如何使用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可访问. (如果你这样做,你必须非常小心,不要让你的名字泄漏 – 明智地使用当地人.)

网友评论