【轉】Unity 遊戲存檔 PlayerPrefs類的用法

來源:互聯網
上載者:User

標籤:儲存   檔案中   gui   end   讀取   字元      link   複製   

http://www.cnblogs.com/qiaogaojian/p/5969855.html

unity3d提供了一個用於本地持久化儲存與讀取的類——PlayerPrefs。工作原理非常簡單,以索引值對的形式將資料儲存在檔案中,然後程式可以根據這個名稱取出上次儲存的數值。
    PlayerPrefs類支援3中資料類型的儲存和讀取,浮點型,整形,和字串型。
    分別對應的函數為:
    SetInt();儲存整型資料;
    GetInt();讀取整形資料;
    SetFloat();儲存浮點型資料;
    GetFlost();讀取浮點型資料;
    SetString();儲存字串型資料;
    GetString();讀取字串型資料;
這些函數的用法基本一致使用Set進行儲存,使用Get進行讀取。下面根據一個例子來詳細說明一下用法:
   首先開啟unity3D,建立一個工程檔案,然後在項目視圖裡面建立一個c#檔案,命名為_Playerprefs  
   並輸入一下代碼:
 

 1      public class _Playerprefs : MonoBehaviour { 2          public string set_NAME; 3          public string get_NAME; 4          void OnGUI() 5          { 6                  GUILayout.BeginHorizontal("box"); 7                  GUILayout.Label("姓名:"); 8                  set_NAME=GUILayout.TextArea(set_NAME, 200,GUILayout.Width(50)); 9                  if(GUILayout.Button("儲存資料"))10                  {11 12                         //將我們輸入的姓名儲存到本地,命名為_NAME ;13                         PlayerPrefs.SetString("_NAME", set_NAME);14                  }15                  GUILayout.EndHorizontal();16                  GUILayout.BeginHorizontal("box");17                  if(GUILayout.Button("讀取資料"))18                  {19 20                          //讀取本機資料中名稱為_NAME 的資料;21                         get_NAME=PlayerPrefs.GetString("_NAME");22                  }23                  GUILayout.Label("你輸入的姓名:"+get_NAME);24                  GUILayout.EndHorizontal();25                  26 27          }28  }


分析一下這段代碼,我們在輸入框中輸入一個名稱,然後點擊儲存資料按鈕,將資料存放區到本地並且命名為_NAME ,然後點擊讀取資料按鈕,從本機資料中找到名稱為_NAME  的資料,並存放到我們定義好的變數get_NAME 中,然後用Label顯示出來
運行結果如下:

 PlayerPrefs.SetString("_NAME", set_NAME); 這個方法中第一個參數表示儲存資料的名稱,第二的參數表示具體儲存的數值。 get_NAME=PlayerPrefs.GetString("_NAME"); 這個方法中第一個資料表示讀取資料的名稱,本來還有第二的參數,表示預設值,如果通過資料名稱沒有找到對應的值,那麼就返回預設值,這個值也可以寫,則返回空值。 下面我們將這個簡單的工程發布成EXE格式,開啟我們發布好的EXE檔案,在輸入框裡面輸入張三。

點擊儲存資料按鈕,將資料存放區到本地,然後關閉exe檔案, 然後再開啟,開啟後點擊讀取資料:得到的結果

資料被我們從本地檔案中讀取出來了,完成了一次簡單的存檔操作。 在PlayerPrefs 類中還提供了PlayerPrefs.DeleteKey(key : string)刪除指定資料;PlayerPrefs.DeleteAll() 刪除全部鍵 ;PlayerPrefs.HasKey (key : string)判斷資料是否存在的方法;

【轉】Unity 遊戲存檔 PlayerPrefs類的用法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.