找回密码
 立即注册
查看: 340|回复: 0

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

[复制链接]
发表于 2021-8-11 13:46 | 显示全部楼层 |阅读模式
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弃用,需要升级替换新函数。
[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
  1. Assets\LuaFramework\Scripts\Common\LuaLoader.cs(35,38):
  2. error CS0619:'AssetBundle.CreateFromMemoryImmediate(byte[])'is obsolete:'Method CreateFromMemoryImmediate has been renamed to LoadFromMemory (UnityUpgradable) -> LoadFromMemory(*)'
复制代码
    同理:根据提示改为: target = BuildTarget.iOS;
  1. 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
  1. Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_LightWrap.cs(101,8):
  2. 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?)
复制代码
  1. Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_QualitySettingsWrap.cs(1107,4):
  2. error CS0200:Property or indexer 'QualitySettings.streamingMipmapsRenderersPerFrame' cannot be assigned to -- it is read only
复制代码
  1. 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

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 04:31 , Processed in 0.092216 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表