亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Unity游戲之存儲(chǔ)數(shù)據(jù)

 更新時(shí)間:2021年04月16日 16:19:13   作者:! ?  
這篇文章主要介紹了Unity游戲之存儲(chǔ)數(shù)據(jù),感興趣的同學(xué),可以拷貝代碼,試驗(yàn)一下

在許多游戲中當(dāng)我們因?yàn)橐恍﹩?wèn)題無(wú)法接著進(jìn)行游玩,我們都會(huì)選擇保存,以便后面有空時(shí),接著游玩。接下來(lái),我們會(huì)學(xué)習(xí)一些Unity有關(guān)的存儲(chǔ)方法。

一、Unity-PlayerPrefs(數(shù)據(jù)持久化)

這是Unity自帶的用于本地持久化保存與讀取的類(lèi),采用的是鍵值對(duì)的方式來(lái)進(jìn)行存儲(chǔ),一般通過(guò)鍵名來(lái)進(jìn)行獲取。PlayerPrefs有Int,float,string類(lèi)型。

保存數(shù)據(jù)

PlayerPrefs.SetString(“Color”, color);
PlayerPrefs.SetInt(“Number”, number);
PlayerPrefs.SetFloat(“Class”, class);

讀取數(shù)據(jù)

color = PlayerPrefs.GetString(“Color”, “red”);
number = PlayerPrefs.GetInt(“Number”, 20);
class = PlayerPrefs.GetFloat(“Class”, 1);

其他一些方法

PlayerPrefs.HasKey();//是否包含該鍵值對(duì)
PlayerPrefs.DeleteAll();//刪除所有鍵值對(duì)
PlayerPrefs.DeleteKey();//刪除某一個(gè)鍵值對(duì)

二、Unity-Serialization(序列化)和Deserialization(反序列化)

在Unity中我們也可以通過(guò)使用序列化來(lái)實(shí)現(xiàn)存儲(chǔ),我們將要存儲(chǔ)的對(duì)象用序列化轉(zhuǎn)化為字節(jié)流來(lái)進(jìn)行存儲(chǔ),當(dāng)我們需要用時(shí)我們通過(guò)反序列化將字節(jié)流轉(zhuǎn)化為對(duì)象來(lái)進(jìn)行讀取。

常見(jiàn)的序列化方法:二進(jìn)制,XML,Json.

這三種方法各有千秋,以下是對(duì)這三種方法對(duì)比
二進(jìn)制方法:簡(jiǎn)單,但可讀性差

XML方法:可讀性強(qiáng),但是文件龐大,冗余信息多

JSON方法:數(shù)據(jù)格式比較簡(jiǎn)單,易于讀寫(xiě),但是不直觀,可讀性比XML差

接下來(lái)我會(huì)講解一些關(guān)于二進(jìn)制的方法,關(guān)于XML以及Json方法我會(huì)放在下次來(lái)講。

三、二進(jìn)制序列方法

二進(jìn)制方法(Binary Formatter)
序列化:新建或打開(kāi)一個(gè)二進(jìn)制文件,通過(guò)二進(jìn)制格式器將對(duì)象寫(xiě)入該二進(jìn)制文件。
反序列化:打開(kāi)待反序列化的二進(jìn)制文件,通過(guò)二進(jìn)制格式器將文件解析成對(duì)象。

在進(jìn)行存儲(chǔ)之前我們要定義一個(gè)類(lèi)用來(lái)存儲(chǔ)我們需要保存的東西,接下來(lái)我會(huì)使用SiKi學(xué)院的案例來(lái)進(jìn)行講解。(詳情觀看http://www.sikiedu.com/my/course/129)

定義一個(gè)Save類(lèi),不需要繼承MonoBehaviour

該方法用于存儲(chǔ)射擊次數(shù)以及得分和所生成的Monster的所在位置以及其種類(lèi)。

在進(jìn)行游戲的存儲(chǔ)時(shí)我們?cè)贕ameManager中來(lái)實(shí)現(xiàn)二進(jìn)制序列化方法。

因?yàn)槲覀兺ㄟ^(guò)將游戲物體轉(zhuǎn)化為流來(lái)進(jìn)行存儲(chǔ)以及通過(guò)二進(jìn)制序列化來(lái)進(jìn)行存儲(chǔ),所以我們要引入兩個(gè)命名空間。

因?yàn)槲覀儽4娈?dāng)前的游戲?qū)ο笏晕覀兌x一個(gè)方法來(lái)進(jìn)行創(chuàng)建Save對(duì)象并存儲(chǔ)當(dāng)前游戲狀態(tài)信息。

接下來(lái)使用二進(jìn)制來(lái)進(jìn)行對(duì)游戲的保存

if (File.Exists(Application.dataPath + “/StreamingFile” + “/byBin.txt”)){UIManager._instance.ShowMessage(“保存成功”);}是安全校驗(yàn),當(dāng)文件夾存在該路徑會(huì)提示保存成功。

讀取二進(jìn)制

在我們讀取保存游戲時(shí)我們要將存儲(chǔ)的數(shù)據(jù)進(jìn)行讀取所以在LoadByBin()方法中實(shí)現(xiàn)。

以上就是Unity游戲之存儲(chǔ)數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于Unity存儲(chǔ)數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論