Unity PlayerPrefs、JsonUtility

这篇具有很好参考价值的文章主要介绍了Unity PlayerPrefs、JsonUtility。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity中有两个常用的数据存储方式:PlayerPrefs和JsonUtility。

  1. PlayerPrefs

PlayerPrefs是Unity内置的一种轻量级数据存储方式,可用于存储少量的游戏数据,如分数、解锁状态等。使用PlayerPrefs需要注意以下几点:

  • 存储数据时,需要使用字符串作为键(key)和值(value)。
  • 存储的值只能是int、float、string三种类型,如果需要存储其他类型的数据,需要进行类型转换。
  • 存储数据后,需要调用Save方法,将数据保存在本地。

以下是使用PlayerPrefs存储和读取数据的示例:

// 存储数据
PlayerPrefs.SetInt("Score", 100);
PlayerPrefs.SetString("UserName", "John");
PlayerPrefs.Save();

// 读取数据
int score = PlayerPrefs.GetInt("Score");
string userName = PlayerPrefs.GetString("UserName");
  1. JsonUtility

JsonUtility是Unity内置的一个用于序列化和反序列化Json数据的工具,可用于存储和读取复杂的游戏数据,如游戏设置、存档等。使用JsonUtility需要注意以下几点:

  • 存储数据时,需要将数据序列化为Json格式的字符串。
  • 反序列化数据时,需要将Json格式的字符串反序列化为对应的数据结构。
  • 由于JsonUtility只支持一些基本数据类型(如int、float、string等)和一些内置数据结构(如数组、字典等),如果需要存储自定义的数据结构,需要进行相应的转换。

以下是使用JsonUtility存储和读取数据的示例:

// 定义数据结构
[System.Serializable]
public class PlayerData
{
public int score;
public string userName;
public float[] position;
}

// 存储数据
PlayerData data = new PlayerData();
data.score = 100;
data.userName = "John";
data.position = new float[] { 1.0f, 2.0f, 3.0f };
string json = JsonUtility.ToJson(data);
File.WriteAllText(Application.dataPath + "/playerData.json", json);

// 读取数据
string jsonString = File.ReadAllText(Application.dataPath + "/playerData.json");
PlayerData loadedData = JsonUtility.FromJson<PlayerData>(jsonString);
int score = loadedData.score;
string userName = loadedData.userName;
float[] position = loadedData.position;

注意:使用JsonUtility存储和读取数据时,需要将数据转换为Json格式的字符串,并将其保存在本地文件中,因此需要注意数据的安全性和完整性。文章来源地址https://www.toymoban.com/news/detail-639452.html

到了这里,关于Unity PlayerPrefs、JsonUtility的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【unity之数据持久化】-Unity公共类PlayerPrefs

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity数据存储 API大全图解 windows平台存储路径 HKCUSoftware[公司名称][产品名称] 项下的注册表中 公司和产品名称是 在“Project Settings”中设

    2024年02月04日
    浏览(51)
  • 详解unity中的PlayerPrefs,保存数据

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

    2024年02月09日
    浏览(37)
  • Unity数据持久化之PlayerPrefs

    什么是数据持久化 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。即将游戏数据存储到硬盘,硬盘中数据读取到游戏中,也就是传统意义上的存盘。 PlayerPrefs是什么 是 Unity 提供的可以用于存储读取玩家数据的公共类

    2024年02月19日
    浏览(43)
  • 1.5 Unity中的数据存储 PlayerPrefs

    Unity中的三种数据存储:数据存储也称为数据持久化 PlayerPrefs是Unity引擎自身提供的一个用于本地持久化保存与读取的类,以键值对的形式将数据保存在文件中,然后程序可以根据提取数值。 PlayerPrefs类支持3种数据类型的保存和读取:浮点型、整形、字符串型 通过Key值

    2024年02月03日
    浏览(43)
  • Unity PlayerPrefs 持久化数据存在哪

    在游戏开发的过程中,我们经常需要存档相关的东西,称为数据的持久化。PlayerPrefs 就是Unity提供的用于本地数据持久化保存与读取的类。 PlayerPrefs会以键值对的方式存储在本地的注册表中。 1.存储数据 2.获取数据 3.删除数据 这些数据会存储在注册表中,打开注册表就能查看

    2024年02月16日
    浏览(43)
  • Unity使用反射机制和PlayerPrefs来存储游戏数据

    Unity中有一个PlayerPrefs用来给游戏存储数据。这个类有三个存储三种特定类型的方法:SetInt用来存储int类型的数据,SetFloat用来存储float类型的数据,SetString用来存储string类型的数据,虽然只能存储三种类型的数据,但是对于一般的游戏而言这三种类型完全够用了。本文封装了

    2024年02月04日
    浏览(44)
  • Unity 数据读取|(四)Json文件解析(Newtonsoft.Json ,Litjson,JsonUtility,SimpleJSON)

    JSON文件是一种纯文本文件,用于存储数据,并且是基于JavaScript的一个子集。JSON文件通常用于存储和传输数据,以及在应用程序之间交换信息。它们以键值对的形式存储数据,其中键是字符串,值可以是字符串、数字、布尔值、数组、对象或null。 JSON文件通常具有.json扩展名

    2024年02月05日
    浏览(64)
  • Unity3D学习之数据持久化——PlayerPrefs

    就是保存存档和读取存档。 分为两部分,存储和读取,先看存储在看读取 PlayerPrefs 是unity提供可以存储和读取玩家数据的公共类 上面定义过 PlayerPrefs.SetInt(“myAge”,18) 后面再定义PlayerPrefs.SetFloat(“myAge”,20.2f) 后面进行读取int型 myAge时,会变成默认值0 打印结果 0 和 100 1)父

    2024年01月18日
    浏览(77)
  • 深入了解Unity的PlayerPrefs类:一份详细的技术指南(五)

    在Unity游戏开发中,一个重要的需求就是管理玩家的偏好设置。有很多方法可以实现这个目标,但Unity内置的PlayerPrefs类是最简单和快速的一种。PlayerPrefs类为我们提供了一种方便的方式来存储和检索读取玩家的数据,包括游戏设置,进度等。 PlayerPrefs类是一种轻量级的,用于

    2024年02月15日
    浏览(37)
  • 【Unity学习笔记】Unity TestRunner使用

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/135733479 作者:CSDN@|Ringleader| 参考: Input testing Getting started with Unity Test Framework HowToRunUnityUnitTest 如果对Unity的newInputSystem感兴趣可以参看我这篇文章:【Unity学习笔记】第十二 · New Input System 及其系统结构 和 源码浅

    2024年01月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包