當前位置:成語大全網 - 新華字典 - unity五種數據儲存方法——ScriptableObject

unity五種數據儲存方法——ScriptableObject

優點:

1.unity內置的壹種儲存容器(不用作為組件掛載在物體上,也可以被序列化)

2.可以以asset形式儲存(不需要其他額外的文件解析轉換之類的,同時可跨項目使用)

3.可以在PlayMode儲存數據更改(再也不怕更改數據沒保存了)

4.可以儲存大量數據(其他對象都可以調用,有效避免產生冗余數據,這壹點太有用了)

5.可以添加引用到腳本中

缺點:

1.需要擴展Editor

2.不可以在unity外操作

3.這是用來儲存開發數據的,而不是儲存玩家數據的。

什麽時候用?

1.就如優點所展示的那樣,當有壹些數據被同時大量使用,為了避免數據冗余,可以使用。同時應該註意,因物而異的變量不應該聲明在此處。

2.作為唯壹的資源交給版本控制器。例如,本地化數據、清單目錄、表格、敵人配置等

3.ScriptableObject除了可以存儲數據外,我們還可以在ScriptableObject中定義壹些方法。。這類似於插槽設計模式,ScriptableObject提供壹些槽,MonoBehaviour可以把自己插進去。適用於AI類型、回血的buff或debuffs等(回血例子見結尾)

如何實現?

step1.創建妳用於***享數據的類(例如EnemyData)

step2.新建壹個腳本擴展Editor,使編輯器能夠創建自定義的ScriptableObject對象

step3. 在需要引用的腳本中引用

另外註意:每次新建項名稱都相同,這意味著不及時改名就會被覆蓋。請及時歸類或重命名

到第三步為止,是 ScriptableObject最基礎的用法,或許它的優點還不明顯,接下來再舉例第四步

further step. 創建區域化控制腳本(可以是GameManager這種)

回血buff例子