標籤:儲存 檔案中 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類的用法