Unity SLua 如何调用Unity中C#方法
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,1.原理就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。2.作用在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都
千家信息网最后更新 2026年10月31日Unity SLua 如何调用Unity中C#方法
1.原理
就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。
2.作用
在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都差不多、这里,我拿slua举例。
3.实际运用 举例:如何在Slua中打印Log
原理:其实是slua通过调用C#中的Debug.Log方法实现的打印,并不是说是lua中的打印方法起到作用。
步骤:
首先,既然是Lua调用C#中的方法,这里自定义写一个打印log的方法。
| 12345678910111213141516171819202122232425262728 | public class CDebug { /// /// lua中打印Log /// /// 标题 /// 内容 public static void Log(string title,string contents) { int level = 3; //这里代码不需要解释把,如果对颜色有需求,可以自己稍微修改一下。 switch(level) { case 1: Debug.Log(contents); break; case 2: Debug.LogWarning(title+":"+ contents); break; case 3: Debug.LogError(title + ":" + contents); break; default: Debug.Log(contents); break; } }} |
I:
注意图中 标红。一般每个lua框架中,都会有这么个注册函数,加了这个注册函数。才会,有下面那步。执行。
II:
点击 Slua->Custom->Make
之后,发现编译之后,多一个:
III:
注意:之后我们可以看到多了一个脚本,用svn版本控制,对比一下文件,其实还是有其他地方改动的。
会发现BindCustom文件中的代码变成了
| 12345678910111213 | public class BindCustom { public static Action Action Lua_CDebug.reg, //这是自动生成的,多附加的// 因为之前我们看到CustomExport脚本中的OnAddCustomClass方法中//很多方法是被注释了,所以,需要手动把之前生成过的文件加上,具体看//SVN版本控制对比一下BundCustom脚本,需要把之前生成过的代码//手动加上。//附加:这个不是什么BUG,因为别人以为所有需要在Lua中调用C#的代码都附加好了,//所以,不需要了,假如我们的项目需要上线,也需要还原Log方法,因为他会打包到//apk包中的. |
这样一个调用C#中的方法的功能做完了,其他的类似的,仿照这个例子就可以。
方法
C#
代码
函数
文件
框架
脚本
生成
作用
原理
手动
版本
还是
控制
附加
差不多
例子
内容
功能
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
互联网和科技创新
互联网通讯科技
互联网科技深圳
重庆互联网络科技
有马互联网科技
以房互联网科技
腾讯科技 互联网女皇
国外互联网科技网站
互联网科技素材视频竖屏
成都仁贤领冠互联网科技有限公司
创业天下互联网科技有限公司
银川新华互联网科技职业技术培训学校图片
华服互联网科技官网
苏州铭阳互联网科技有限公司
洛阳昕诺飞互联网科技有限公司
青海科技产业互联网发展
互联网方面的科技前沿
盐城市攀科互联网科技有限公司
互联网科技创新方面的资料
广州淘业互联网络科技
朗新科技与工业互联网
科技制造互联网公司
美国互联网前沿科技
互联网科技公司实习生
湖南一路畅行互联网科技
宜昌元轩互联网科技有限公司
科技大学互联网
互联网金融科技公司的优势
容联科技互联网电商