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

前端之家收集整理的这篇文章主要介绍了Lua – 如何使用另一个脚本的函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如何使用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可访问. (如果你这样做,你必须非常小心,不要让你的名字泄漏 – 明智地使用当地人.)

猜你在找的Lua相关文章