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

SLua 中,从一个Lua脚本调用 另一个GameObject上的Lua脚本中的函

发布时间:2020-12-14 21:58:13 所属栏目:大数据 来源:网络整理
导读:项目中使用 SLua 是通过一个中间件,比如 LuaBehaviour.cs 。在 Prefab 上面添加 LuaBehaviour 组件,然后在里面进行 DoFile 操作 执行 Lua 的Chunk 。 背景如上 今天遇到问题,如何从GameObjectA 上挂的 LuaA? 调用 GameObjectB 上挂的 LuaB 中的函数? 想

项目中使用 SLua 是通过一个中间件,比如 LuaBehaviour.cs 。在 Prefab 上面添加 LuaBehaviour 组件,然后在里面进行 DoFile 操作 执行 Lua 的Chunk 。


背景如上

今天遇到问题,如何从GameObjectA 上挂的 LuaA? 调用 GameObjectB 上挂的 LuaB 中的函数?


想不通就去问同事大神了。一番讲解后,个人理解如下:


其实

LuaManager.Instance.DoFile(luaScriptPath)

这个接口,返回的Object ,其实就是 返回一个 LuaTable !!

我们只要获取到这个 LuaTable,就可以调用这个 LuaTable 中的函数了!!

把 DoFile 返回的 LuaTable 保存为成员变量m_LuaTable,供 Lua 中使用。


于是整理流程如下:

gameObjectB:SetActive(true)

local luaBehaviour=gameObjectB.transform:GetComponent(LuaBehaviour)

local luaTable=luaBehaviour.m_LuaTable --获取到LuaTable

luaTable:Show(100)   --调用函数

(编辑:李大同)

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

    推荐文章
      热点阅读