Chinar blog :www.chinar.xin
tolua 错误修复
本文提供全流程,中文翻译。
Chinar 的初衷是将一种简单的生活方式带给世人
使有限时间 具备无限可能 |
Chinar —— 心分享、心创新!
助力快速完成 tolua 错误修复
为初学者节省宝贵的时间,避免采坑! |
Chinar 教程效果:
文章目录
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
Intro —— 介绍
tolua 对于新手来讲,坑不少,群里经常有人问道。
本文就来对于 tolua 常见的错误做一个总结,以便于大家对号入座,解决问题。
引起的错误原因有很多,但大多数都是Unity版本更新过快,API过时导致的错误。
tolua 作者,维护框架的那些大神们只管开发,性能。其他的兼容性问题,大神们也没精力去专门的做各版本适配。
只能我们拿来后自己改改。如果连基础的改动都不会,那估计tolua框架也玩不转了
2
API Upgradable —— API 升级
导入 tolua 就开始报错,多数都是因为版本的问题导致API 弃用造成的错误
下面仅拿一个例子举例,属于API弃用,需要升级替换新函数。
[img=5%,5%]https://img-blog.csdnimg.cn/20190414000651148.png[/img]
提示 —— 如报错的是 xxxxWrap 文件,报错函数可直接注销。
(因为,我们修改C#就要重新清理、重建一次Wrap文件)
[img=8%,8%]https://img-blog.csdnimg.cn/20190721015830944.png[/img]
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'
复制代码
[img=8%,8%]https://img-blog.csdnimg.cn/20190721020504697.png[/img]
步骤 | 描述 | 1 | 找到 相应报错 脚本,定位到报错函数。 | 2 | 根据提示,将弃用的API升级,改为现有支持的API | 3 | 如果出现已弃用,没有替代方案。根据上下文情景结合稍加改动。(wrap文件,可直接注销。反正都会自动生成) |
3
Build Resources —— 打包资源
打包热更新资源时会报错,脚本函数缺失 / 丢失程序集引用
[img=8%,8%]https://img-blog.csdnimg.cn/20190721015830944.png[/img]
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 only
复制代码- Error building Player because scripts had compiler errors
复制代码
[img=8%,8%]https://img-blog.csdnimg.cn/20190721020504697.png[/img]
步骤 | 描述 | 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 )
[img=50%,50%]https://img-blog.csdnimg.cn/20190508013858624.png[/img]
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址 |