Playerprefer类中的方法

news/2024/9/28 21:30:16/

一 PlayerPrefs是什么


        是Unity提供的可以用于存储读取玩家数据的公共类
 

  二 存储相关


        PlayerPrefs的数据存储 类似于键值对存储 一个键对应一个值


        提供了存储3种数据的方法 int float string
        键: string类型 
        值:int float string 对应3种API

        PlayerPrefs.SetInt("myAge", 18);
        PlayerPrefs.SetFloat("myHeight", 177.5f);
        PlayerPrefs.SetString("myName", "CCC");

        直接调用Set相关方法 只会把数据存到内存里
        当游戏结束时 Unity会自动把数据存到硬盘中
        如果游戏不是正常结束的 而是崩溃 数据是不会存到硬盘中的
        只要调用该方法 就会马上存储到硬盘中


        PlayerPrefs.Save();

        PlayerPrefs是有局限性的 它只能存3种类型的数据
        如果你想要存储别的类型的数据 只能降低精度 或者上升精度来进行存储


        bool sex = true;
        PlayerPrefs.SetInt("sex", sex ? 1 : 0);

        如果不同类型用同一键名进行存储 会进行覆盖


        PlayerPrefs.SetFloat("myAge", 20.2f);

三 读取相关


        注意 运行时,只要Set了对应键值对,即使你没有马上存储Save在本地,也能够读取出信息

        int
        int age = PlayerPrefs.GetInt("myAge");
        print(age);
        前提是 如果找不到myAge对应的值 就会返回函数的第二个参数 默认值
        age = PlayerPrefs.GetInt("myAge", 100);
        print(age);

        float
        float height = PlayerPrefs.GetFloat("myHeight", 1000f);
        print(height);

        string
        string name = PlayerPrefs.GetString("myName");
        print(name);

        第二个参数 默认值 对于我们的作用
        就是 在得到没有的数据的时候 就可以用它来进行基础数据的初始化

        判断数据是否存在
        if( PlayerPrefs.HasKey("myName") )
        {
            print("存在myName对应的键值对数据");
        }
 

四 删除数据


        删除指定键值对
        PlayerPrefs.DeleteKey("myAge");
        删除所有存储的信息
        PlayerPrefs.DeleteAll();

 


http://www.ppmy.cn/news/1530623.html

相关文章

C++——关联式容器(5):哈希表

7.哈希表 7.1 哈希表引入 哈希表的出现依旧是为了查找方便而设计的。在顺序结构中,查询一个值需要一一比较,复杂度为O(N);在平衡树中,查询变为了二分查找,复杂度为O(logN);而对于哈希表,我们可…

python划分CSV格式的数据集

编写一个 Python 函数,将 clusters.csv 文件,格式为:第一列为编号,第二列为聚类的代表序列,第三列为所有的其它同源序列,逗号隔开(TM-align蛋白质聚类数据格式转化-CSDN博客)&#x…

MySQL基础篇(黑马程序员2022-01-18)

1 MySQL数据库概述 1.1 MySQL数据库的下载,安装,启动停止 1.2 数据模型 (1)关系型数据库(RDBMS) 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: A. 使用表存储数据,格式统一,便于维护。…

2024 Python3.10 系统入门+进阶(十六):正则表达式

目录 一、认识正则表达式二、正则表达式基本语法2.1 行界定符2.2 单词定界符2.3 字符类2.4 选择符2.5 范围符2.6 排除符2.7 限定符2.8 任意字符2.9 转义字符2.10 反斜杠2.11 小括号2.11.1 定义独立单元2.11.2 分组 2.12 反向引用2.13 特殊构造2.14 匹配模式 三、re模块3.1 comp…

开放原子开源基金会网站上的开源项目Opns存在缓冲区溢出缺陷

最近在开放原子开源基金会网站上,看到一些开源项目,之前分析出华为的鸿蒙操作系统代码,没有发现有价值的安全漏洞。现在,下载上面的Onps开源网络协议栈,既然是通讯所使用的软件,其质量应该值得信任呢&#…

Web APIs 4:事件流、事件委托

Web APIs 3(事件流、事件委托) 1.事件流 事件流:事件完整执行过程中的流动路径捕获阶段:从DOM根元素开始去执行对应的事件(从外到里) DOM.addEventListener(事件类型,事件处理函数&#xff0…

C#_封装详解

封装 封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。 抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使程序员实现所需级别的抽象…

PHP 中传值与传引用的区别

在 PHP 中,理解传值与传引用的区别对于编写高效、可维护的代码至关重要。 一、基础概念 1. 传值(Pass by Value) 在 PHP 中,默认情况下,参数是通过值传递的。这意味着函数内部对参数所做的任何修改都不会影响到函数…