AssetBundle(四) Tolua对接

本文介绍了如何使用Tolua对接AssetBundle,讨论了两种lua存储和读取的方案,并提供了对接的两个关键步骤:自定义Lua加载类以适应bundle加载,以及重写或扩展ToLuaMenu以符合项目需求。文章强调了bundle命名规范,以及在开发和发布模式下lua文件处理的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇Assetbundle(三)场景和Navmesh加载

下一篇 AssetBundle(五) 关于SceneManager.LoadScene

       ToLua虽然支持Bundle,但是其实现很难应用于实际项目。没有引用计数,不支持其他资源打包,而且还有WWW之类已经过时的Bundle技术。但,瑕不掩瑜,Tolua本身是很优秀的。如果项目有一套完善的支持bundle的资源管理模块,对接Tolua很方便,只需要改两点就能对接好。

       在说对接步骤之前,先说下Lua如何存放和读取的问题。游戏包打好以后,本身就带lua的bundle。能想到有两种做法,一种是把包内的lua的bundle,读出来,放到沙盒目录,以后读取lua都从沙盒目录,更新也是更新沙盒目录。总之和包内的lua就没关系了。这样做不是不行,问题在于要把包内的lua写到沙盒去,这个过程时间有点长。这样首次运行时间太长了。而且lua更新和其他资源的更新流程不一致。

       推荐第二种方案,就是包内的lua以bundle的形式存在,不用拷贝并解压到沙盒。我们只要做到能读取bundle中lua即可。至于lua的更新,还是走bundle更新,跟之前的博文讲的其他资源的bundle更新一个流程。这种方案相比第一种,无论是效率还是更新逻辑,整体统一性都是更好的选择。

        对接只需要做2步

1.写一个Lua加载类,继承Tolua的LuaFileUtils,重载ReadFile,实现自己的lua加载

       LuaFileUtils是Tolua中负责加载lua

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值