加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 00:24:40 所属栏目:大数据 来源:网络整理
导读:我想知道如何使用Lua中另一个脚本的函数.例如,说GameObjectUtilities拥有许多GameObject脚本将使用的功能. Slime(一个GameObject)脚本想在GameObjectUtilities中使用一个函数. 我遇到麻烦让这个工作.我已经看了here,但我还是没有完全理解.我需要创建一个模块
我想知道如何使用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可访问. (如果你这样做,你必须非常小心,不要让你的名字泄漏 – 明智地使用当地人.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读