最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

unity教程:存檔系統(tǒng)(JSON篇)

2023-06-07 18:58 作者:塵風(fēng)一枚  | 我要投稿

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using TMPro;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary;


public class ArchiveManager : MonoBehaviour

{

//需要保存與加載的數(shù)據(jù)

public Data data = new Data();

//需要保存與讀取的游戲內(nèi)數(shù)據(jù)

public TMP_InputField text1;

public TMP_InputField text2;

public TMP_InputField text3;

public TMP_InputField text4;

//定義游戲保存數(shù)據(jù)路徑

public static string savaGameDataPath;

//定義保存數(shù)據(jù)到本地的文件所在的文件夾名字

//public static string savaGameDataFileName = "game_Data"; (寫注釋過于麻煩就不搞這個了)(忽略即可)

private void Awake()

{

//PS:Application.persistentDataPath獲得的是unity游戲數(shù)據(jù)文件夾的路徑

savaGameDataPath = Application.persistentDataPath;

//debug打印保存數(shù)據(jù)的路徑

Debug.Log(savaGameDataPath);

}

/// <summary>

/// 更新數(shù)據(jù) (將游戲內(nèi)數(shù)據(jù)保存以方便保存到本地)

/// </summary>

private void UpdateData()

{

data.data1 = text1.text;

data.data2 = text2.text;

data.data3 = text3.text;

data.data4 = text4.text;

}

/// <summary>

/// 更新游戲 (將數(shù)據(jù)保存到游戲中以方便游戲進(jìn)行數(shù)據(jù)操作)

/// </summary>

private void UpdateGame()

{

text1.text = data.data1;

text2.text = data.data2;

text3.text = data.data3;

text4.text = data.data4;

}

/// <summary>

/// 保存游戲數(shù)據(jù)至本地

/// </summary>

public void SavaData()

{

//更新數(shù)據(jù) 方便后續(xù)保存數(shù)據(jù)至本地

UpdateData();


//檢測是否存在該文件夾

if (!Directory.Exists(savaGameDataPath + "/game_Data"))

{

//如果沒有該文件夾則在該路徑下創(chuàng)建一個名為game_Data的文件夾

Directory.CreateDirectory(savaGameDataPath + "/game_Data");

}

//使用file靜態(tài)方法Create在game_Data文件夾下創(chuàng)建一個名為data的txt文件 并且將返回對象存入變量以便后續(xù)操作

using (FileStream file = File.Create(savaGameDataPath + "/game_Data/data.txt"))

{

//二進(jìn)制轉(zhuǎn)化 該對象主要用于二進(jìn)制轉(zhuǎn)化操作(用于加密)

BinaryFormatter formatter = new BinaryFormatter();

//使用JsonUtility靜態(tài)方法ToJson將類(Data)數(shù)據(jù)轉(zhuǎn)換為Json格式并返回為一個字符串

string json = JsonUtility.ToJson(data);

//使用formatter實例方法Serialize(序列化)將json字符串導(dǎo)入file文件中

formatter.Serialize(file, json);

}

}


public void LoadData()

{

//檢測是否存在該文件

if (File.Exists(savaGameDataPath + "/game_Data/data.txt"))

{

//使用File靜態(tài)方法Open讀取保存在本地的數(shù)據(jù)文件

using (FileStream file = File.Open(savaGameDataPath+"/game_Data/data.txt",FileMode.Open))

{

//二進(jìn)制轉(zhuǎn)化 該對象主要用于二進(jìn)制轉(zhuǎn)化操作(用于解密)

BinaryFormatter formatter = new BinaryFormatter();

//使用formatter實例方法Deserialize(反序列化)將文件的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成Json文本并把Json文本返回成一個字符串

string json = (string)formatter.Deserialize(file);

//使用JsonUtility靜態(tài)方法FromJsonOverwrite將Json文本的數(shù)據(jù)寫入data中

JsonUtility.FromJsonOverwrite(json, data);

}

//更新游戲 把本地數(shù)據(jù)更新到游戲中

UpdateGame();

}

}


}


/// <summary>

/// 需要保存至本地的數(shù)據(jù)

/// </summary>

public class Data

{

public string data1;

public string data2;

public string data3;

public string data4;

}

unity教程:存檔系統(tǒng)(JSON篇)的評論 (共 條)

分享到微博請遵守國家法律
大兴区| 静海县| 洛隆县| 文水县| 福贡县| 咸丰县| 大名县| 九龙坡区| 自治县| 米泉市| 横峰县| 兴业县| 贡山| 阿拉尔市| 全椒县| 明星| 义马市| 平潭县| 互助| 张家口市| 永定县| 建水县| 凤阳县| 凉城县| 施秉县| 伊宁县| 辛集市| 溧水县| 普兰店市| 铜川市| 淮南市| 东丽区| 织金县| 太白县| 揭西县| 昌图县| 宜州市| 孟州市| 四川省| 福清市| 东乡族自治县|