Unity 初次使用ulua,熟悉C#和Lua交互

说明

一直都想实现Unity的热更新,但因为种种原因搁置了。前段时间学习了一下Lua的基本语法,发现这门语言还真是简单易学。于是实现Unity热更新的想法又开始蠢蠢欲动了…
看了一些大佬们的博客,发现C#和Lua之间交互的框架还挺多,思来想去最后决定使用ulua框架。
选择ulua框架的原因是它全平台支持,而且通过LuaJit进行加速,效率上不会太低,而且使用简单,导入package就可以编写代码了。不过ulua的作者只提供了ulua的插件包,并没有提供整套插件源码,但对于我这种新手来说也没什么影响…反正源码也看不懂,好用就行哈哈哈哈哈哈
我主要参考的是这篇博客,整理得非常详细——[整理]Unity3D游戏开发之Lua

下载

首先,当然要先下载ulua包,我实在这个网站上下载的——链接
这个网站里面的网盘链接已经失效了,我是通过GitHub下载的
选择GitHub
附上GitHub地址——链接
不知道是不是网络的问题,download总是失败,所以最后我选择拷贝HTTPS链接然后Clone
选择Clone
Clone完成后,有这些东西:
Clone完成

导入

新建或者打开一个Unity项目
打开Unity项目文件夹所在位置,原封不动地将下载下来的所有文件拷贝到了项目目录下
拷贝然后会弹出有同名文件的提示,基本都是一些ProjectSettings文件夹下的东西,我选择了跳过
好了,切换到Unity下时发现正在加载导入的资源,过了一会儿之后导入成功
可以在Unity窗口下的Assets下也看到LuaFramework和Plugins也导入了
在这里插入图片描述
嗯,接下来试一试能不能用

C#和Lua交互

参考了ulua的文档——链接
在我在自己的Assets文件夹下的Scripts文件夹下新建了一个CSharpLuaTest.cs文件,将这个C#脚本绑在摄像头上,开始编写C#代码。
看文档说是用LuaScriptMgr更加高效,因为使用了去反射机制(不懂2333),但是我自己写的时候发现没有这个LuaScriptMgr类了,于是用的是LuaState类创建lua虚拟机。

Dostring

通过Dostring函数可以直接执行string中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值