当前位置: 首页 > news >正文

Playerprefer类中的方法

一 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();

 

相关文章:

  • 【Kubernetes】日志平台EFK+Logstash+Kafka【实战】
  • Vue引入js脚本问题记录(附解决办法)
  • 数据库 - MySQL数据查询
  • ❤Node11-登录人token信息接口
  • 页面禁用鼠标右键属于反爬虫措施吗 ?
  • Python--操作列表
  • 《柔性供料器原理及用途》JKTECH柔性振动盘
  • 设计模式实战——开发中常用到的单例模式
  • 二叉树进阶
  • MySQL 中删除重复的数据并只保留一条
  • Pandas和matplotlib实现同期天气温度对比
  • 【计算机网络 - 基础问题】每日 3 题(二十三)
  • ArcGIS Desktop使用入门(三)常用工具条——拓扑(下篇:地理数据库拓扑)
  • 【机器学习】13-决策树2——决策树生成、剪枝
  • Ubuntu上如何优雅下载huggingface上某个gguf模型文件
  • [译]CSS 居中(Center)方法大合集
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  •  D - 粉碎叛乱F - 其他起义
  • go语言学习初探(一)
  • HomeBrew常规使用教程
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • LeetCode算法系列_0891_子序列宽度之和
  • Logstash 参考指南(目录)
  • Mithril.js 入门介绍
  • python 装饰器(一)
  • 爱情 北京女病人
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 从零开始学习部署
  • 基于webpack 的 vue 多页架构
  • 前端_面试
  • 前言-如何学习区块链
  • 项目管理碎碎念系列之一:干系人管理
  • 正则表达式小结
  • kubernetes资源对象--ingress
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ### RabbitMQ五种工作模式:
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $().each和$.each的区别
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (poj1.2.1)1970(筛选法模拟)
  • (九十四)函数和二维数组
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)IOS中获取各种文件的目录路径的方法
  • .gitignore文件—git忽略文件
  • .net 7和core版 SignalR
  • .net FrameWork简介,数组,枚举
  • .net Signalr 使用笔记
  • .Net Winform开发笔记(一)
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .NET6 命令行启动及发布单个Exe文件
  • .net对接阿里云CSB服务
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ 转载 ] SharePoint 资料
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)