最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity-腳本序列化錯(cuò)誤

2021-01-13 14:25 作者:unity_某某師_高錦錦  | 我要投稿

序列化是將數(shù)據(jù)結(jié)構(gòu)或?qū)ο鬆顟B(tài)轉(zhuǎn)換為 Unity 可存儲(chǔ)并在以后可重構(gòu)的格式的自動(dòng)過(guò)程。(請(qǐng)參閱有關(guān)腳本序列化的文檔以了解更多信息。)

在某些情況下,腳本序列化可能會(huì)導(dǎo)致錯(cuò)誤。下面列出了其中一些錯(cuò)誤的修復(fù)方法。

從構(gòu)造函數(shù)或字段初始化函數(shù)調(diào)用 Unity Scripting API

在?MonoBehaviour?構(gòu)造函數(shù)或字段初始化函數(shù)中調(diào)用諸如?GameObject.Find?之類的腳本 API 會(huì)觸發(fā)錯(cuò)誤:“Find is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call in in Awake or Start instead.”

解決此問題的方法是在?MonoBehaviour.Start?中而不是在構(gòu)造函數(shù)中調(diào)用腳本 API。

在反序列化期間調(diào)用 Unity Scripting API

從標(biāo)有?System.Serializable?的類的構(gòu)造函數(shù)中調(diào)用諸如?GameObject.Find?之類的腳本 API 會(huì)觸發(fā)錯(cuò)誤:“Find is not allowed to be called during serialization, call it from Awake or Start instead.”

要解決此問題,請(qǐng)編輯代碼,確保不會(huì)在任何序列化對(duì)象的構(gòu)造函數(shù)中調(diào)用任何腳本 API。

線程安全的 Unity Scripting API

大多數(shù)腳本 API 都受上面列出的限制所影響。只有部分 Unity Scripting API 免受影響,可從任何位置接受調(diào)用。它們?nèi)缦拢?/p>

  • Debug.Log

  • Mathf?函數(shù)

  • 簡(jiǎn)單的獨(dú)立結(jié)構(gòu);例如,像?Vector3?和?Quaternion?這樣的數(shù)學(xué)結(jié)構(gòu)

為了降低序列化過(guò)程中出錯(cuò)的風(fēng)險(xiǎn),只能調(diào)用不需要在 Unity 本身中獲取或設(shè)置數(shù)據(jù)的獨(dú)立 API 方法。僅在沒有其他選擇的情況下才調(diào)用它們。


Unity-腳本序列化錯(cuò)誤的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
池州市| 潜山县| 阳西县| 儋州市| 喀喇沁旗| 芦山县| 武鸣县| 龙岩市| 庆安县| 衡阳县| 汝阳县| 繁昌县| 伊春市| 泌阳县| 锡林浩特市| 清镇市| 阿城市| 芦山县| 丹凤县| 麻阳| 花垣县| 洛川县| 十堰市| 新巴尔虎右旗| 广丰县| 澄迈县| 七台河市| 甘孜县| 汝南县| 道孚县| 工布江达县| 乡城县| 沂水县| 沿河| 黄石市| 井研县| 天镇县| 邹城市| 凌源市| 资兴市| 比如县|