super1 发表于 2021-8-11 13:46

tolua错误大全-Chinar出品-几乎可为新手解决所有报错情景

Chinar blog :www.chinar.xin


tolua 错误修复本文提供全流程,中文翻译。

Chinar 的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能
Chinar —— 心分享、心创新!

助力快速完成 tolua 错误修复

为初学者节省宝贵的时间,避免采坑!
Chinar 教程效果:
文章目录

1
Intro —— 介绍
2
API Upgradable —— API 升级
3
Build Resources —— 打包资源
支持
May Be —— 开发者,总有一天要做的事!


全文高清图片,点击即可放大观看 (很多人竟然不知道)
1

Intro —— 介绍


tolua 对于新手来讲,坑不少,群里经常有人问道。
本文就来对于 tolua 常见的错误做一个总结,以便于大家对号入座,解决问题。
引起的错误原因有很多,但大多数都是Unity版本更新过快,API过时导致的错误。
tolua 作者,维护框架的那些大神们只管开发,性能。其他的兼容性问题,大神们也没精力去专门的做各版本适配。
只能我们拿来后自己改改。如果连基础的改动都不会,那估计tolua框架也玩不转了

2

API Upgradable —— API 升级


错误发生 场景/原因导入 tolua 就开始报错,多数都是因为版本的问题导致API 弃用造成的错误
下面仅拿一个例子举例,属于API弃用,需要升级替换新函数。
https://img-blog.csdnimg.cn/20190414000651148.png
提示 —— 如报错的是 xxxxWrap 文件,报错函数可直接注销。
(因为,我们修改C#就要重新清理、重建一次Wrap文件)



https://img-blog.csdnimg.cn/20190721015830944.png
具体报错信息:
CreateFromMemoryImmediate API过时弃用了根据提示改为: LoadFromMemory
Assets\LuaFramework\Scripts\Common\LuaLoader.cs(35,38):
error CS0619:'AssetBundle.CreateFromMemoryImmediate(byte[])'is obsolete:'Method CreateFromMemoryImmediate has been renamed to LoadFromMemory (UnityUpgradable) -> LoadFromMemory(*)'
同理:根据提示改为: target = BuildTarget.iOS;
Assets\LuaFramework\Editor\Packager.cs(39,18): error CS0619:'BuildTarget.iPhone'is obsolete:'Use iOS instead (UnityUpgradable) -> iOS'
https://img-blog.csdnimg.cn/20190721020504697.png

解决方案: 步骤描述1找到 相应报错 脚本,定位到报错函数。2根据提示,将弃用的API升级,改为现有支持的API3如果出现已弃用,没有替代方案。根据上下文情景结合稍加改动。(wrap文件,可直接注销。反正都会自动生成)



3

Build Resources —— 打包资源


错误发生 场景/原因打包热更新资源时会报错,脚本函数缺失 / 丢失程序集引用


https://img-blog.csdnimg.cn/20190721015830944.png
具体报错信息:
UnityEngine_LightWrap UnityEngine_QualitySettingsWrap
Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_LightWrap.cs(101,8):
error CS1061:'Light' does not contain a definition for'SetLightDirty' and no accessible extension method 'SetLightDirty' accepting a first argument of type 'Light' could be found (are you missing a using directive or an assembly reference?)Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_QualitySettingsWrap.cs(1107,4):
error CS0200:Property or indexer 'QualitySettings.streamingMipmapsRenderersPerFrame' cannot be assigned to -- it is read onlyError building Player because scripts had compiler errors

https://img-blog.csdnimg.cn/20190721020504697.png
解决方案: 步骤描述1找到 CustomSettings 脚本,查找对应错误函数名,注销掉类型2//_GT(typeof(Light)),3//_GT(typeof(ParticleSystem)),4//_GT(typeof(QualitySettings)),5菜单栏 Lua →Clear wrap files,清理所有wrap文件,并重新 Build X平台 Resources



支持

May Be —— 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能! 先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )

https://img-blog.csdnimg.cn/20190508013858624.png


END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
页: [1]
查看完整版本: tolua错误大全-Chinar出品-几乎可为新手解决所有报错情景