Unity持久化存儲之PlayerPrefs的使用


unity3d提供了一個用於本地持久化保存與讀取的類——PlayerPrefs。工作原理非常簡單,以鍵值對的形式將數據保存在文件中,然后程序可以根據這個名稱取出上次保存的數值。
    一、PlayerPrefs類支持3中數據類型的保存和讀取,浮點型,整形,和字符串型。
      分別對應的函數為:

  1. SetInt();保存整型數據;
  2. GetInt();讀取整形數據;
  3. SetFloat();保存浮點型數據;
  4. GetFlost();讀取浮點型數據;
  5. SetString();保存字符串型數據;
  6. GetString();讀取字符串型數據;

  注:這些函數的用法基本一致使用Set進行保存,使用Get進行讀取。
二、使用
  PlayerPrefs.SetString("YourKey", "Your_Value"); 這個方法中第一個參數表示存儲數據的名稱,第二的參數表示具體存儲的數值。

  MyValue=PlayerPrefs.GetString("YourKey"); 這個方法中第一個數據表示讀取數據的名稱,本來還有第二的參數,表示默認值,如果通過數據名稱沒有找到對應的值,那么就返回默認值,這個值也可以寫,則返回空值。

三、補充

  在PlayerPrefs 類中還提供了

  • PlayerPrefs.DeleteKey (key : string)刪除指定數據;
  • PlayerPrefs.DeleteAll() 刪除全部鍵 ;
  • PlayerPrefs.HasKey (key : string)判斷數據是否存在的方法;

四、保存文件在不同平台上的的存儲位置:

  1.PC端

    ①打開注冊表:regedit 

    ②打開Unity中Edit----->Project Settings---->Player 

    

    ③注冊表中---->Software

    

    ④找到Unity

    

    ⑤找到寫入的文件

    

  2.Android 端:

  apk安裝在內置flash存儲器上時,
  PlayerPrefs的位置是\data\data\com.company.product\shared_prefs\com.company.product.xml

  apk安裝在內置SD卡存儲器上時,PlayerPrefs的位置是/sdcard/Android/data/com.company.product\shared_prefs\com.company.product.xml

    shared_prefs是SharedPreferences的縮寫,是Android平台上一個輕量級的存儲類,用來保存應用的一些常用配置,比如Activity狀態,Activity暫停時,將此activity的狀態保存到SharedPereferences中;當Activity重載,系統回調方法onSaveInstanceState時,再       從SharedPreferences中將值取出。SharedPreferences 可以用來進行數據的共享,包括應用程序之間,或者同一個應用程序中的不同組件。比如兩個activity除了通過Intent傳遞數據之外,也可以通過ShreadPreferences來共享數據. Unity中通過PlayerPref來存儲游戲的一些數據,特別是單機游戲。在android平台就是存儲到上述位置。  另外,是否安裝到sd卡可在PlayerSetting->Other Settings->Install Location 設置。
  3.Mac
     在Mac OS X上PlayerPrefs存儲在~/Library/PlayerPrefs文件夾,名為unity.[company name].[product name].plist,這里company和product名是在Project Setting中設置的,相同的plist用於在編輯器中運行的工程和獨立模式.On iOS, the PlayerPrefs can be found in   your app's plist file. It's located at:/Apps/ your app's folder /Library/Preferences/ your app's .plist
  在Windows獨立模式下,PlayerPrefs被存儲在注冊表的 HKCU\Software\[company name]\[product name]鍵下,這里company和product名是在Project Setting中設置的.在Windows編輯器模式下,PlayerPrefs被存儲在注冊表的 HKCU\Software\Unity\UnityEditor\          [company name]\[product name]鍵下,這里company和product名是在Project Setting中設置的。

 

    

 


免責聲明!

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



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