[Unity][存档]使用PlayerPrefs保存数据能保存多少数据

 

 

那么回答如题所示的问题,有多少关键字,就能保存多少数据,

3种基础类型数据,int,float,string。其他类型的变量无法存储。

 

相比于JSON等存储数据的方法,就显得更加无力。

优势是存储 少量数据,具有便捷,快速。

其他类似JSON等存储数据的方法,先要建立一个 完整的 存储/读取 数据 的脚本,如果数据庞大,随之的管理数据脚本的体量也会越来越大。

 

当全部的str的内容放入一个string字符串变量中,会出现以下问题。

String too long for TextMeshGenerator. Cutting off characters.

 


using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// 
/// </summary>
public class Test_PlayerPrefs : MonoBehaviour {
    public Text text;
    int num = 9999;

	// Use this for initialization
	void Start () {
        test();
    }
    void test()
    {
        string str = "";
        string text_str ="";
        Debug.Log("  test function start  ");
        if (text != null)
        { 
            for (int i = 0; i < num; i++)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,PlayerPrefs保存数据默认只能在同一场景内访问。要在不同场景中访问PlayerPrefs保存数据,可以使用以下方法: 1. 在一个公共脚本中保存数据: 可以创建一个公共脚本,用于保存PlayerPrefs数据,然后在需要访问数据的场景中引用该脚本。例如,我们可以在一个名为`GameData`的脚本中保存数据: ``` public static class GameData { public static int score; public static bool isGameOver; } ``` 在某个场景中,我们可以使用以下代码保存数据: ``` GameData.score = 100; PlayerPrefs.SetInt("score", GameData.score); ``` 然后在另一个场景中,我们可以使用以下代码获取数据: ``` GameData.score = PlayerPrefs.GetInt("score"); ``` 2. 使用DontDestroyOnLoad方法: 可以使用`DontDestroyOnLoad`方法来保留一个游戏对象在场景之间的传递。例如,我们可以创建一个名为`GameManager`的游戏对象,并使用以下代码来保留它: ``` public class GameManager : MonoBehaviour { private static GameManager instance; private void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } } // Save and load PlayerPrefs data here } ``` 在`GameManager`中,我们可以保存和加载PlayerPrefs数据。由于该对象被保留在场景之间,因此可以在不同场景中访问相同的数据。 注意:使用`DontDestroyOnLoad`方法可能会导致内存泄漏问题,因为该对象永远不会被销毁。因此,应该谨慎使用该方法,并确保在不需要时正确销毁该对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值