可以用系统自带PlayerPrefs的来存取数据。存储可以在各个Scene里面读取。
存储目录:
Mac OS X 下PlayerPrefs 存在 ~/Library/Preferences 目录, 文件名格式如下: unity.[company name].[product name].plist, 其中 company name 和 product names 是在 Project Settings 中设置的.
如何去:到你名字下面,按键command+shift+G, 然后输入Library/Preferences就可以了
Windows 下, PlayerPrefs 存在注册表里面 HKCU\Software\[company name]\[product name] , 其中 company name 和 product names 是在 Project Setting 中设置的. 不过在我的XP系统里面,因为company name和 product name,所以显示的都是乱码,直接开始->运行->输入:regedit 启动注册表,搜索你存储的键值就可以了。
代码如下:
using UnityEngine;
using System.Collections;
//created by lancer li at 2012
public class SaveManager {
//keys
public const string KEY_USER_ID = "key_uid";
public const string KEY_USER_NAME = "key_name";
public const string KEY_ACCOUNT = "key_account";
public const string KEY_PASSWORD = "key_password";
public const string KEY_SESSION = "key_session";
public const string KEY_PLATFORM = "key_platform";
public static void SaveUserInfo(int uid, int platform, string account, string password){
SaveUserID(uid);
SavePlatform(platform);
SaveAccount(account);
SavePassword(password);
}
public static void SaveUserID(int uid){
PlayerPrefs.SetInt(KEY_USER_ID, uid);
}
public static int GetUserId(){
return PlayerPrefs.GetInt(KEY_USER_ID);
}
public static void SavePlatform(int platform){
PlayerPrefs.SetInt(KEY_PLATFORM, platform);
}
public static int GetPlatform(){
return PlayerPrefs.GetInt(KEY_PLATFORM);
}
public static void SaveAccount(string account){
PlayerPrefs.SetString(KEY_ACCOUNT, account);
}
public static string GetAccount(){
return PlayerPrefs.GetString(KEY_PASSWORD);
}
public static void SavePassword(string password){
PlayerPrefs.SetString(KEY_PASSWORD, password);
}
public static string GetPassword(){
return PlayerPrefs.GetString(KEY_PASSWORD);
}
public static void SaveSession(string session){
PlayerPrefs.SetString(KEY_SESSION, session);
}
public static string GetSession(){
return PlayerPrefs.GetString(KEY_SESSION);
}
}