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