补充个题外话:lua 在unity上真正能用,是从去反射静态绑定开始的。这是最早的方案,随着苹果il2cpp开始,早期ulua的反射代码已经不存在价值了,并且反射问题很多。所以有了新的的 tolua# 从设计模式上可以解决热更新问题,把数据和行为分开,行为分装到一个dll里,加载进来。ios平台除了用lua目前没很好的解决办法。 ulua 加 assetbundle 当然你要写很多东西。包括ab打包,下载,载入,内存管理。或者用李剑英的解决方案。 看多了什么uluaslua之争。 讲点题外话吧。
2004年一个老外写了一个LuaInterface,用于C/LUA/C#之间的通讯(压栈)
2012年,该老外写了一个NLUA,用于Unity热更新https://github.com/NLua/NLua/issues
2013年还是多久?某个人在Unity商店上传了一个ulua插件收费赚钱,但过了一年,(抄袭被告?)被迫下架。
后来国内就瞬间兴起了ulua uniluaslua tolua等一大批热更框架。。
都是基于 luainterface、luagit。 主要和核心的内容还是参考的国外NLUA。
做了一些优化。 比如wrap之类的代替反射、支持协程?64位支持?
算是本土化? 微创新? 刚好早上看到一篇文章,分享给题主。
Unity3D热更新LuaFramework入门实战(1)——代码热更新
Unity3D热更新LuaFramework入门实战(1)——代码热更新 - 罗培羽的文章 - 知乎专栏 JSBinding + SharpKit 方案
Unity代码热更新方案 JSBinding + SharpKit 首页 资源AB就能随便更;
代码Android可以搞。
iOS 现在得分两种,mono下,iOS把内存堆给封了,JIT不能执行新生成的代码。因为苹果一向对内存安全敏感而强势,指纹都单独装在小黑盒 ,ios应用程序和外界通信一律走自己的服务器…让你们申请块堆就乱搞那还得了?
il2cpp没试过,等我更新。。
页:
1
[2]