数据的存储PlayerPrefs

//数据存储--数据持久化
/*
 * * 数据存储方式
 * 1.PlayerPrefs
 * 2.Json
 * 3.xml
 * 4.数据库
 *
 * 
 *场景跳转 销毁游戏对象  卸载场景  加载新场景  创建游戏对象
 * 作用1 游戏存档
 * 作用2 数据传输
 *
 * PlayerPrefs  key value 键值对的形式存储
 * 能存储int float string 类型的数据
 */
public class Prefafs : MonoBehaviour
{
    private void Start()
    {
        PlayerPrefs.SetFloat("PI",3.1415f);
        //如果取值时该键值对不存在会返回该类型的默认值
        if (PlayerPrefs.HasKey("PI"))
        {
            Debug.Log("pi="+PlayerPrefs.GetFloat("PI"));
        }
        //删除键值对
        PlayerPrefs.DeleteKey("PI");
        Debug.Log("pi="+PlayerPrefs.GetFloat("PI"));
        //删除所有的键值对
        PlayerPrefs.DeleteAll();
        //立即将缓存中的数据写入数据库
        PlayerPrefs.Save();
    }
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

/*
 *存储玩家数据  玩家名字 分数
 * 用空格来区分一个玩家的不同数据
 * 用换行来区分不同玩家
 * 玩家1  88
 * 玩家2 100
 * 玩家3 55
 * 
 */

public class PlayingScene : MonoBehaviour
{
    private Text _text;
    private int score;
    private string playerData;

    private void Start()
    {
        _text = transform.GetChild(0).GetComponent<Text>();
        playerData = "玩家1 88\n玩家2 100\n玩家3 55";
        PlayerPrefs.SetString("PlayerData",playerData);
    }
    public void Add()
    {
        score = score + 100;
        
        _text.text = score.ToString();
    }
    public void Load()
    {
        int highScore = PlayerPrefs.GetInt("zuigaofen");
        if (score>highScore)
        {
            PlayerPrefs.SetInt("zuigaofen",score);
        }
        SceneManager.LoadScene("Second");
    }
}








using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class PlayinSecond : MonoBehaviour
{
    private Text _text;
    private void Start()
    {
        _text = transform.GetChild(0).GetComponent<Text>();
        if (PlayerPrefs.HasKey("zuigaofen"))
        {
            _text.text =( PlayerPrefs.GetInt("zuigaofen")).ToString();
        }
        //读取玩家数据
        string playerData = PlayerPrefs.GetString("PlayerData");
        string[] datas = playerData.Split('\n');
        foreach (var item in datas)
        {
            Debug.Log(item);
            string[] itemStrs= item.Split(' ');
            //解析玩家数据
            string name = itemStrs[0];
            int score = int.Parse(itemStrs[1]);
        }
    }

    public void Load()
    {
        SceneManager.LoadScene("Playing");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值