初学 Unity 热更新 - Lua 与 C# 通信
发布时间
阅读量:
阅读量
孙广东 2015-4-6
热更新对我来说还处于入门阶段,非常感谢网络上众多前辈的分享,这次再次担任搬运工的角色。
准备:
1、掌握Lua语言的基本语法
推荐参考书籍《Lua程序设计 第二版》
2、借助ULua插件实现与C#之间的交互
建议尽量在真机上进行测试,因为其中存在大量Bug问题。
大杂烩:
实际上,对Lua脚本的更新等同于对资源的更新。由于Lua代码在运行时才被编译,未运行时其状态与其他资源(如图片或音频)并无二致,均为文件形式;因此,在进行更新时只需替换脚本内容,无需重新编译,这使得“热更新”功能得以轻松实现。然而,由于采用了反射机制,其运行效率成为不可避免的问题。目前已有针对该问题的优化方案,例如C#ToLua和Slua等工具。不过从项目开发角度来看,现阶段我认为稳定性比性能更为关键!许多开发者都在使用ULua,并且其存在的诸多问题已经被广泛发现并解决。我个人更看好Slua的发展前景。当然还有李总的L#项目,并未采用Lua的技术路线。
网络上也提到nLua这个工具,但作为新手我对此了解不多。这里引用权威观点进行说明:
ULua包含两种C模式(luajit版本+原生luavm版本),并且tolua为C#提供了直接访问接口。因此若追求性能表现,请优先选择ULua。不过由于底层使用的是luaj
全部评论 (0)
还没有任何评论哟~
