怎么使ulua调用unity cube

如题所述

ulua是一款实用的unity插件,它让unity支持lua语言,且运行效率不错。使用ulua的流程一般包括实例化LuaState对象,加载Lua代码,以及调用Lua代码中的方法。为了实现热更新,加载Lua代码时应采用创建Lua脚本文件的方式,并将脚本扩展名为txt。在LuaState类中增加一个String类型的public成员,记录脚本ID,以方便错误诊断。

lua预处理常用操作包括加载c#程序集,导入类型,以及定义调试函数等。建议将这些预处理操作写入一个单独的Lua脚本,在加载其他脚本前先加载这个脚本。在C#中实例化的LuaState也可以预定义一些Lua全局变量,这都是在C#里完成的。

在Unity中使用lua时,应尽量减少低频率调用,避免在Update函数中频繁调用lua。对于UI部分等不需要高效运算的模块,可以放心使用lua。对于NGUI的适配,可以使用C#脚本作为中介,通过callFunction调用lua函数。关于Lua与SimpleJSON的适配,由于Lua无法理解C#的属性,需要新写一些接口函数返回取值。Lua调用经过重载的函数时容易出现错误,可以多弄一些函数名避免。

在Unity中使用ulua时,两个lua脚本彼此调用需要通过C#作为中介,因为lua不支持C#的泛型,只能用GetComponnet("类名")的形式获取组件。两个lua脚本相互传参也很麻烦,通常将参数拼成json字符串传递,另一方再解json包。关于lua编辑器,个人使用notepad++,也有很多人用sublime。notepad++在代码折叠方面更好,sublime功能更强大。

以上就是使用ulua的一些心得和建议,希望对大家有所帮助。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜