详解unity中的PlayerPrefs,保存数据

介绍

PlayerPrefs 是 Unity 中用于存储和访问玩家偏好设置和其他游戏数据的类。PlayerPrefs 的数据会持久化,即使游戏被关闭,数据也会保存在本地硬盘上。因此,它非常适合存储游戏的设置、玩家进度、游戏状态等信息。

方法

PlayerPrefs 类有以下几个常用的方法:

SetInt

public static void SetInt(string key, int value);

用于将一个整数值存储在 PlayerPrefs 中。

SetFloat

public static void SetFloat(string key, float value);

用于将一个浮点数值存储在 PlayerPrefs 中。

SetString

public static void SetString(string key, string value);

用于将一个字符串值存储在 PlayerPrefs 中。

GetInt

public static int GetInt(string key, int defaultValue = 0);

用于从 PlayerPrefs 中获取一个整数值。如果指定的键不存在,则返回默认值 defaultValue。

GetFloat

public static float GetFloat(string key, float defaultValue = 0.0f);

用于从 PlayerPrefs中获取一个浮点数值。如果指定的键不存在,则返回默认值 defaultValue。

GetString

public static string GetString(string key, string defaultValue = "");

用于从 PlayerPrefs 中获取一个字符串值。如果指定的键不存在,则返回默认值 defaultValue。

DeleteKey

public static void DeleteKey(string key);

用于从 PlayerPrefs 中删除指定的键及其对应的值。

DeleteAll

public static void DeleteAll();

用于从 PlayerPrefs 中删除所有的键及其对应的值。

例子

下面是一些常见的 PlayerPrefs 的用法示例:

例子1:存储和获取整数值

// 存储一个整数值
PlayerPrefs.SetInt("HighScore", 100);

// 从 PlayerPrefs 中获取一个整数值
int highScore = PlayerPrefs.GetInt("HighScore", 0);

在这个例子中,我们使用 SetInt 方法将一个名为 “HighScore” 的整数值存储在 PlayerPrefs 中,并使用 GetInt 方法从 PlayerPrefs 中获取这个值。如果 “HighScore” 键不存在,则 GetInt 方法将返回默认值 0。

例子2:存储和获取浮点数值

//存储一个浮点数值
PlayerPrefs.SetFloat("Volume", 0.8f);

// 从 PlayerPrefs 中获取一个浮点数值
float volume = PlayerPrefs.GetFloat("Volume", 1.0f);

在这个例子中,我们使用 SetFloat 方法将一个名为 “Volume” 的浮点数值存储在 PlayerPrefs 中,并使用 GetFloat 方法从 PlayerPrefs 中获取这个值。如果 “Volume” 键不存在,则 GetFloat 方法将返回默认值 1.0f。

例子3:存储和获取字符串值

// 存储一个字符串值
PlayerPrefs.SetString("PlayerName", "Jack");

// 从 PlayerPrefs 中获取一个字符串值
string playerName = PlayerPrefs.GetString("PlayerName", "Unknown");

在这个例子中,我们使用 SetString 方法将一个名为 “PlayerName” 的字符串值存储在 PlayerPrefs 中,并使用 GetString 方法从 PlayerPrefs 中获取这个值。如果 “PlayerName” 键不存在,则 GetString 方法将返回默认值 “Unknown”。

例子4:删除键值对

// 删除一个键值对
PlayerPrefs.DeleteKey("HighScore");

在这个例子中,我们使用 DeleteKey 方法删除名为 “HighScore” 的键值对。

例子5:清空所有键值对

// 清空所有键值对
PlayerPrefs.DeleteAll();

在这个例子中,我们使用 DeleteAll 方法清空 PlayerPrefs 中所有的键值对。注意,这个操作是不可逆的,一旦执行,所有数据都将被删除。因此,在实际开发中,应该谨慎使用。

猜你喜欢

转载自blog.csdn.net/qq_20179331/article/details/130907575