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: [email protected]
對於經本博主明確授權和許可使用文章及內容的,使用時請註明文章或內容出處並註明網址