首先我们来看两段Unity3D中实现数据读写的简单代码吧:
//保存数据
PlayerPrefs.SetString("Name",mName);
PlayerPrefs.SetInt("Age",mAge);
PlayerPrefs.SetFloat("Grade",mGrade)
//读取数据
mName=PlayerPrefs.GetString("Name","DefaultValue");
mAge=PlayerPrefs.GetInt("Age",0);
mGrade=PlayerPrefs.GetFloat("Grade",0F);
static function DeleteAll(): void 描述:从设置文件中移除所有键和值,谨慎的使用它们。 static function DeleteKey(key: string): void 描述:从设置文件中移除key和它对应的值。 static function GetFloat(key: string, defaultValue: float=OF): float 描述:如果存在,返回设置文件中key对应的值.如果不存在,它将返回defaultValue。 static function GetInt(key: string, defaultValue: int): int 描述:返回设置文件中key对应的值,如果存在.如果不存在,它将返回defaultValue。 static function GetString(key: string, defaultValue: string=**): string 描述:返回设置文件中key对应的值,如果存在.如果不存在,它将返回defaultValue. static function HasKey(key: string): bool 描述:在设置文件如果存在key则返回真. static function SetFloat(key: string, value: float): void 描述:设置由key确定的值. static function SetInt(key: string, value: int): void 描述:设置由key确定的值. static function SetString(key: string, value: string): void 描述:设置由key确定的值.
using UnityEngine;
using System.Collections;
public class Scene1Script : MonoBehaviour {
//姓名
private string mName="路人甲";
//年龄
private int mAge=20;
//成绩
private float mGrade=75.5F;
void OnGUI()
{
GUILayout.Label("Unity3D数据存储示例程序",GUILayout.Height(25));
//姓名
GUILayout.Label("请输入姓名:",GUILayout.Height(25));
mName=GUILayout.TextField(mName,GUILayout.Height(25));
//年龄
GUILayout.Label("请输入年龄:",GUILayout.Height(25));
mAge=int.Parse(GUILayout.TextField(mAge.ToString(),GUILayout.Height(25)));
//成绩
GUILayout.Label("请输入成绩:",GUILayout.Height(25));
mGrade=float.Parse(GUILayout.TextField(mGrade.ToString(),GUILayout.Height(25)));
//提交数据
if(GUILayout.Button("提交数据",GUILayout.Height(25)))
{
//保存数据
PlayerPrefs.SetString("Name",mName);
PlayerPrefs.SetInt("Age",mAge);
PlayerPrefs.SetFloat("Grade",mGrade);
//切换到新场景
Application.LoadLevel("Scene1");
}
}
}
using UnityEngine;
using System.Collections;
public class Scene2Script : MonoBehaviour {
private string mName;
private int mAge;
private float mGrade;
void Start ()
{
//读取数据
mName=PlayerPrefs.GetString("Name","DefaultValue");
mAge=PlayerPrefs.GetInt("Age",0);
mGrade=PlayerPrefs.GetFloat("Grade",0F);
}
void OnGUI()
{
GUILayout.Label("Unity3D数据存储示例程序",GUILayout.Height(25));
//姓名
GUILayout.Label("姓名:"+mName,GUILayout.Height(25));
//年龄
GUILayout.Label("年龄:"+mAge,GUILayout.Height(25));
//成绩
GUILayout.Label("成绩:"+mGrade,GUILayout.Height(25));
//删除数据
if(GUILayout.Button("清除数据",GUILayout.Height(25)))
{
PlayerPrefs.DeleteAll();
}
//返回Scene0
if(GUILayout.Button("返回场景",GUILayout.Height(25)))
{
Application.LoadLevel("Scene0");
}
}
}
6360

被折叠的 条评论
为什么被折叠?



