Unity3D游戏存档之PlayerPrefs的用法

  • Post author:
  • Post category:其他



unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。


PlayerPrefs类支持3中数据类型的保存和读取,浮点型,整形,和字符串型。

分别对应的函数为:

    SetInt();       //保存整型数据;
    GetInt();       //读取整形数据;
    SetFloat();     //保存浮点型数据;
    GetFlost();     //读取浮点型数据;
    SetString();    //保存字符串型数据;
    GetString();    //读取字符串型数据;

这些函数的用法基本一致使用Set进行保存,使用Get进行读取。下面根据一个例子来详细说明一下用法:

首先打开unity3D,新建一个工程文件,然后在项目视图里面新建一个c#文件,命名为_Playerprefs

并输入一下代码:

public class _Playerprefs : MonoBehaviour {
        public string set_NAME;
        public string get_NAME;
        void OnGUI()
        {
                GUILayout.BeginHorizontal("box");
                GUILayout.Label("姓名:");
                set_NAME=GUILayout.TextArea(set_NAME, 200,GUILayout.Width(50));
                if(GUILayout.Button("存储数据"))
                {

                       //将我们输入的姓名保存到本地,命名为_NAME ;
                        PlayerPrefs.SetString("_NAME", set_NAME);
                }
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal("box");
                if(GUILayout.Button("读取数据"))
                {

                        //读取本地数据中名称为_NAME 的数据;
                        get_NAME=PlayerPrefs.GetString("_NAME");
                }
                GUILayout.Label("你输入的姓名:"+get_NAME);
                GUILayout.EndHorizontal();
                

        }
}

分析一下这段代码,我们在输入框中输入一个名称,然后点击存储数据按钮,将数据存储到本地并且命名为_NAME ,然后点击读取数据按钮,从本地数据中找到名称为_NAME  的数据,并存放到我们定义好的变量get_NAME 中,然后用Label显示出来。

我不是原作者,只是搬运工

源地址