unity加载dll库的学习笔记

        前段时间看了一下unity加载dll库的相关东西,正好看到一遍文章,看完后也总结了一下也写了代码。        

        项目是MMO手游,目标平台是AndroidiOSiOS平台不能动态加载dll,可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码更新,不过实际上,在unity里要用上动态加载dll是有很多限制的。

        限制1:在Android手机里动态加载dll不能使用Assembly.LoadFile(string path),只能使用Assembly.Load(byte[] rawAssembly)这个接口,所以要自己想办法先读出来。 

        限制2:动态加载的脚本不能在编辑器里挂在prefab上。

        限制3:如果脚本在动态dll里,调用AddComponent()挂此脚本上prefab上时不能使用AddComponent(“SomeScript”)的方式调用,要用AddComponent(Type.GetType(“SomeScript”))

        限制4:在动态dll里使用[RequireComponent(typeof(SomeScript))]无效,所以不能使用。

        这也是文章里提到的遇到的一些坑。

既然有这么坑换dll,我参与的unity项目里也都一致的更换了ulua,lua代码灵活性高,现在又有专门的IDE,可以打断点哦,这tm对于调试脚本语言来说就是一个福利啊,所以更换DLL的做法感觉有点过时了,当然是针对中国市场,我一直以来很看好lua这个语言,无论从我做2d还是3d都用过。

        我虽然做游戏年头并不是特别长,但是我觉得针对前端开发者来说,吃透一门强类型语言和一门脚本是必须的,还有针对手游的前端,吃透一个移动平台也是必须的,比如安卓或者ios。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值