關於unity中數據的簡單存儲和EditorPrefs.DeleteAll()的謹慎使用


Unity中有PlayerPrefs和EditorPrefs兩種,圖片里列舉了

 

這兩種方式的存儲和獲取方法,其中EditorPrefs比PlayerPrefs多了一個bool的存儲和獲取。EditorPrefs是在編輯器模式下的存儲功能,PlayerPrefs是游戲運行時的代碼里定義的存儲功能,比如游戲結束顯示最高分,就可以調用PlayerPrefs的方法來存儲這個分數,以便再一次進入游戲時調用PlayerPrefs獲取鍵值的方法時能得到上一次的最高分。

接下來說一下PlayerPrefs.DeleteKey()和EditorPrefs.DeleteKey(),這兩個就是刪除某個key和對應的value。

最后就是PlayerPrefs.DeleteAll()和EditorPrefs.DeleteAll()的區別和共同點,首先共同點就是刪除所有key和所有value。接着區別就是PlayerPrefs刪除的是代碼里主動調用方法存儲的所有key和value,而EditorPrefs刪除的除了編輯器模式下的測試用的所有key和value,可能還包括unity編輯器自身存儲的key和value,其中就包括下面圖中的數據,原本No local projects 處是之前打開

 

過的其他項目的名字和路徑以及使用的unity版本,但是在編輯器模式下用了EditorPrefs.DeleteAll()這個方法后,這邊就消失了,其他版本的unity也都消失了,會造成一些不必要的麻煩,而且還把編輯器菜單欄Edit -> Preference -> General -> Auto Refresh 的勾取消了,這是unity腳本有變化時會自動編譯的選項,所以在編輯器模式下得謹慎使用EditorPrefs.DeleteAll()這個方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM