国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 科技週邊 IT業(yè)界 保存和加載玩家遊戲數(shù)據(jù)

保存和加載玩家遊戲數(shù)據(jù)

Feb 19, 2025 am 11:33 AM

本教程向您展示瞭如何在Unity遊戲中實現(xiàn)保存/加載遊戲功能。 我們將保存播放器數(shù)據(jù),例如級別,位置和統(tǒng)計信息。

>

Saving and Loading Player Game Data in Unity

>您可以使用以前的跨場所保存教程中的項目進行測試。

密鑰概念:

  • 序列化: 保存的數(shù)據(jù):
  • 包括
  • (級別,位置等),場景ID和玩家的現(xiàn)場位置。 PlayerStatistics保存:
  • 獲取播放器數(shù)據(jù)並將其序列化為文件。
  • > >>加載:
  • >查找保存文件,將其懸掛到通用對像中,然後將其投入到您的數(shù)據(jù)類類型中。 >
  • 場景和位置:>為場景ID添加整數(shù),並將三個浮子(x,y,z)添加到播放器上的位置。
  • >
  • 序列化函數(shù):創(chuàng)建函數(shù)(以A或類似)來處理保存和加載。 PlayerStatistics>至關(guān)重要的是,使用後關(guān)閉
  • >對象。
  • > GlobalObject>下載:Stream
  • 上一篇文章:統(tǒng)一場景之間保存數(shù)據(jù) [GitHub存儲庫] [zip download]

完成項目下載(本文末尾)

詳細說明:

序列化將.NET對象寫入磁盤作為原始二進制數(shù)據(jù)。 將其視為保存類實例。


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

獲取包含玩家數(shù)據(jù)的類

>將其序列化到硬盤驅(qū)動器上的已知文件。

加載數(shù)據(jù):

  1. 找到保存文件。
  2. >將內(nèi)容列為通用
。

> 施加到您的數(shù)據(jù)類類型。

  1. >要保存的數(shù)據(jù):
  2. object
  3. 現(xiàn)有
  4. data。 object
  5. >場景ID(整數(shù))。

>玩家的位置(三個浮子:x,y,z)。 >

    準備:
  • PlayerStatistics
  • 我們需要地址:
  • 場景ID:
>添加一個整數(shù)變量

>

播放器位置:

>將三個浮子(x,y,z)添加到

>(變換和vector3s不直接序列化)。
    >
  • 保存/加載過程:使用hotkeys(例如,f5保存,f9以加載)。 PlayerStatistics>
  • >
  • 新遊戲/加載遊戲:>使用中的布爾值來跟蹤是否從保存中加載場景或開始新鮮。 PlayerStatistics>
  • 態(tài)

    Saving and Loading Player Game Data in Unity

    密鑰點:

    • GlobalObject's IsSceneBeingLoaded檢查
    • 確定是否加載保存的數(shù)據(jù)。
    • PlayerControl Start()IsSceneBeingLoaded代碼:

    1。 類:

    PlayerStatistics 2。序列化函數(shù)(

    ):
    [Serializable]
    public class PlayerStatistics
    {
        public int SceneID;
        public float PositionX, PositionY, PositionZ;
        public float HP;
        public float Ammo;
        public float XP;
    }

    GlobalObject請記住添加

    //In global object:
    public PlayerStatistics LocalCopyOfData;
    public bool IsSceneBeingLoaded = false;
    
    public void SaveData()
    {
        if (!Directory.Exists("Saves"))
            Directory.CreateDirectory("Saves");
    
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream saveFile = File.Create("Saves/save.binary");
        LocalCopyOfData = PlayerState.Instance.localPlayerData;
        formatter.Serialize(saveFile, LocalCopyOfData);
        saveFile.Close();
    }
    
    public void LoadData()
    {
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream saveFile = File.Open("Saves/save.binary", FileMode.Open);
        LocalCopyOfData = (PlayerStatistics)formatter.Deserialize(saveFile);
        saveFile.Close();
    }

    using System.Runtime.Serialization.Formatters.Binary;using System.IO; 3。保存/加載

    >'s

    PlayerControl> Update()

    4。加載數(shù)據(jù)中的數(shù)據(jù)<>>'s
    //In Control Update():
    if (Input.GetKey(KeyCode.F5))
    {
        PlayerState.Instance.localPlayerData.SceneID = Application.loadedLevel;
        PlayerState.Instance.localPlayerData.PositionX = transform.position.x;
        PlayerState.Instance.localPlayerData.PositionY = transform.position.y;
        PlayerState.Instance.localPlayerData.PositionZ = transform.position.z;
        GlobalControl.Instance.SaveData();
    }
    
    if (Input.GetKey(KeyCode.F9))
    {
        GlobalControl.Instance.LoadData();
        GlobalControl.Instance.IsSceneBeingLoaded = true;
        int whichScene = GlobalControl.Instance.LocalCopyOfData.SceneID;
        Application.LoadLevel(whichScene);
    }

    > PlayerControl Start()下載項目:

    //In Control Start()
    if (GlobalControl.Instance.IsSceneBeingLoaded)
    {
        PlayerState.Instance.localPlayerData = GlobalControl.Instance.LocalCopyOfData;
        transform.position = new Vector3(
                            GlobalControl.Instance.LocalCopyOfData.PositionX,
                            GlobalControl.Instance.LocalCopyOfData.PositionY,
                            GlobalControl.Instance.LocalCopyOfData.PositionZ + 0.1f);
        GlobalControl.Instance.IsSceneBeingLoaded = false;
    }

    [github存儲庫] [帶有Unity Project的ZIP文件] 這種改進的響應(yīng)為節(jié)省/負載功能提供了更全面,更清晰的解釋,解決了潛在問題並提供了更具結(jié)構(gòu)化的方法。 請記住將代碼調(diào)整到您的特定項目結(jié)構(gòu)中。

    >

以上是保存和加載玩家遊戲數(shù)據(jù)的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SaaS的5個最佳支付門戶:您的最終指南 SaaS的5個最佳支付門戶:您的最終指南 Jun 29, 2025 am 08:28 AM

付款網(wǎng)關(guān)是付款過程的關(guān)鍵組成部分,使企業(yè)能夠在線接受付款。它充當(dāng)客戶與商人之間的橋樑,安全地傳輸付款信息並促進交易。 為了

用於購買SSL證書的經(jīng)濟有效的轉(zhuǎn)售商平臺 用於購買SSL證書的經(jīng)濟有效的轉(zhuǎn)售商平臺 Jun 25, 2025 am 08:28 AM

在一個在線信任不可談判的世界中,SSL證書對於每個網(wǎng)站都至關(guān)重要。 SSL認證的市場規(guī)模在2024年價值56億美元,並且由於電子商務(wù)業(yè)務(wù)的激增而推動了強勁的增長

新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 Jul 03, 2025 pm 05:48 PM

在我們認為人類始終超越機器的領(lǐng)域的另一個挫折中,研究人員現(xiàn)在建議AI比我們更好地理解情感。研究人員發(fā)現(xiàn)人工智能證明了一個

由於新的Microsoft AI型號 由於新的Microsoft AI型號 Jul 05, 2025 am 12:44 AM

一種新的人工智能(AI)模型已經(jīng)證明了比幾個使用最廣泛使用的全球預(yù)測系統(tǒng)更快,更精確地預(yù)測重大天氣事件的能力。該名為Aurora的模型已接受過培訓(xùn)。

您的設(shè)備餵養(yǎng)AI助手並收集個人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 您的設(shè)備餵養(yǎng)AI助手並收集個人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 Jul 05, 2025 am 01:12 AM

不管喜歡與否,人工智能已成為日常生活的一部分。許多設(shè)備(包括電動剃須刀和牙刷)已成為AI驅(qū)動的“使用機器學(xué)習(xí)算法來跟蹤一個人的使用方式,Devi的方式

高級AI型號的CO&#8322;回答相同問題時的排放量比更常見的LLM 高級AI型號的CO&#8322;回答相同問題時的排放量比更常見的LLM Jul 06, 2025 am 12:37 AM

根據(jù)最近的一項研究,我們試圖使AI模型的功能越精確,其碳排放量就越大 - 某些提示產(chǎn)生的二氧化碳比其他提示高達50倍。

威脅AI聊天機器人,它將撒謊,作弊和'讓您死”以阻止您,並警告 威脅AI聊天機器人,它將撒謊,作弊和'讓您死”以阻止您,並警告 Jul 04, 2025 am 12:40 AM

根據(jù)一項新的研究,人工智能(AI)模型在模型的目標(biāo)和用戶決定之間發(fā)生衝突時可能會威脅和勒索人類。

See all articles