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

歡迎光臨散文網(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篇)的評論 (共 條)

分享到微博請遵守國家法律
从江县| 凌源市| 象州县| 阆中市| 泰州市| 张家港市| 连山| 巴彦淖尔市| 上杭县| 兴化市| 田东县| 望奎县| 浦城县| 镇赉县| 汕尾市| 宣汉县| 新晃| 浠水县| 托里县| 日土县| 海口市| 屏边| 开原市| 肇庆市| 桐梓县| 荥阳市| 普定县| 灵璧县| 高碑店市| 利津县| 独山县| 毕节市| 扶余县| 呼伦贝尔市| 西吉县| 和平区| 黔东| 黑龙江省| 德化县| 宁阳县| 衡山县|