前言

      在我开始这个系列的第一篇文章中,我就提到了Lua脚本用来实现宿主脚本的配置性和扩展性。上节说到的调用外部Lua脚本就对应了它的两大特性之一的配置性,那么另一大特性如何来体现呢?这就要说我们今天的话题了:Lua函数。uLua插件是用来解决unity3d热更新的方案,在我们需要对宿主程序做一些局部逻辑上的修改时,Lua函数就变得至关重要。那么如何在uLua中来调用Lua函数呢,现在就来看看吧!我们将通过两个例子来了解如何调用Lua函数。

第一个例子

首先,这个例子的函数是非常简单的,所以我们就把它以字符串形式写到了C#脚本中,详细的过程已经十分明显地注释出来了,如下所示:

lua成员函数 lua怎么调用函数_Lua

 我们主要用LuaInterface中的LuaFunction这个类来处理相关的Lua函数。上面的函数很简单,主要是接受实参并输出值。结果如下所示:

lua成员函数 lua怎么调用函数_字符串_02

可以明显地看到,传入Lua函数中的实参和Lua函数中的返回值被确实在C#脚本中反映了出来,调用函数成功。

第二个例子

这个例子和上面的有所不同,主要是传入了多个参数。Lua脚本是独立存在的,我们用上节说到的第一种方式来读取独立的Lua脚本,一些前面说过的内容就不再细说。Lua脚本如下:

lua成员函数 lua怎么调用函数_lua成员函数_03

然后在C#脚本中传入相关参数,并进行计算,将结果输出出来,C#脚本如下:

lua成员函数 lua怎么调用函数_字符串_04

结果如下所示:

lua成员函数 lua怎么调用函数_调用函数_05

结束语