Jull543

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

官方文档:PlayerPrefs - Unity 脚本 API

视频教程:Basic Saving and Loading in Unity with PlayerPrefs

1.简介

PlayerPrefs是一个用于存储玩家偏好设定(Player preference)的类,它可以存储三种类型的数据:string、float和integer。

存储的数据保存在用户的本地注册表中,它所存储的数据能够在不同的游戏会话之间加载。

注意:

  • 不要用于存储敏感信息。
  • 频繁保存会影响性能。

2.应用场景

  • 音乐音量、分辨率、全屏等设置
  • 排行
  • 制作游戏原型时,暂时储存数据

3.常用API

API
DeleteAll 从偏好设置中删除所有键和值。请谨慎使用。
DeleteKey 从偏好设置中删除给定的键。如果键不存在,DeleteKey没有影响。
GetFloat 返回偏好设置文件中与 key 对应的值(如果存在)。
GetInt 返回偏好设置文件中与 key 对应的值(如果存在)。
GetString 返回偏好设置文件中与 key 对应的值(如果存在)。
HasKey 如果偏好中存在给定的键,返回ture,否则返回false。
Save 保存所有修改项。
SetFloat 为给定的键设置浮点类型值。
SetInt 为给定的键设置整数类型值。
SetString 为给定的键设置字符串类型值。

4.例子

例子1:存储文字

这里实现一个较为简单的例子:

PlayerPrefsDemo

  • 文本框用于输入文字
  • 点击按钮,进行存储、加载或是删除
using TMPro;
using UnityEngine;

public class MiniSaveManager : MonoBehaviour
{
    [SerializeField] private TMP_InputField inputField;

    // 保存数据
    public void SaveData()
    {
        PlayerPrefs.SetString("input", inputField.text);
    }

    // 加载数据
    public void LoadData()
    {
        inputField.text = PlayerPrefs.GetString("input");
    }

    // 删除数据
    public void DeleteData()
    {
        PlayerPrefs.DeleteKey("input");
        //PlayerPrefs.DeleteAll(); 
    }
}
posted on 2025-10-19 12:33  Jull543  阅读(4)  评论(0)    收藏  举报