tolua錯誤大全-Chinar出品-幾乎可爲新手解決所有報錯情景

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棄用,需要升級替換新函數。

提示 —— 如報錯的是 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 菜單欄 LuaClear wrap files,清理所有wrap文件,並重新 Build X平臺 Resources

舉個例子
在這裏插入圖片描述


支持

May Be —— 開發者,總有一天要做的事!


擁有自己的服務器,無需再找攻略

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

使有限時間 具備無限可能!

先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)


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


Chinar

END

本博客爲非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均爲本人所擁有,本人保留所有法定權利。違者必究

對於需要複製、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯繫,留言,Email: [email protected]

對於經本博主明確授權和許可使用文章及內容的,使用時請註明文章或內容出處並註明網址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章