数据持久化-PlayerPrefs

一、基础方法

1、介绍持久化

将内存中的数据存储到硬盘中。

2、PalyerPrefs是一个存储玩家数据的公共类。

3、存储相关

键是唯一的,即使是存储不同类型的。

4、读取相关

取值和其参数介绍:

第二个参数是用来赋予默认值的。并不会存储到硬盘中。

判断是否存在该键:

删除数据

练习题:

第一题 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player1 : MonoBehaviour
{
    public string name;
    public int age;
    public int atk;
    public int def;
    void SaveData()
    {
        PlayerPrefs.SetString("name", this.name);
        PlayerPrefs.SetInt("age", this.age);
        PlayerPrefs.SetInt("atk", this.atk);
        PlayerPrefs.SetInt("def", this.def);
    }

    void ReadData()
    {
        name = PlayerPrefs.GetString("name", "未知名称");
        age = PlayerPrefs.GetInt("age", 20);
        atk = PlayerPrefs.GetInt("atk", 1);
        def = PlayerPrefs.GetInt("def", 1);
        print($"玩家{name}({age}岁)目前攻击力:{age},防御力:{def}");
    }
    private void Start()
    {
        SaveData();
        ReadData();
    }
}

二、存储位置

1、不同平台位置:

windows:

Android:

IOS:

2、保证数据不重复

练习题

PlayerPrefs主要作用

相关推荐
鑫鑫哥adam10 天前
一个 1x1 贴图,是怎么炸掉整个热更包的?
unity3d·游戏开发
Behavior11 天前
Unity 手游动态更换 App 图标 — Android 与 iOS 双端技术方案
c#·unity3d·游戏开发
SmalBox11 天前
03-03-架构篇-Runtime加载系统架构
unity3d·游戏开发
SmalBox11 天前
03-02-架构篇-Editor打包系统架构
unity3d·游戏开发
Behavior11 天前
Unity 手游 iOS Deep Link 唤醒全流程:从 URL Scheme / Universal Links 到 C# 层参数投递
c#·unity3d·游戏开发
SmalBox11 天前
03-01-架构篇-整体架构总览
unity3d·游戏开发
SmalBox11 天前
02-08-原理篇-异步加载与性能优化
unity3d·游戏开发
字节暗面11 天前
Unity AssetBundle 热更新安全排查:从 CDN 清单到本地缓存
unity3d·图片资源
SmalBox17 天前
02-07-原理篇-文件系统与跨平台适配
unity3d·游戏开发
SmalBox18 天前
02-06-原理篇-热更新与版本管理
unity3d·游戏开发