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

ホームページ テクノロジー周辺機器 IT業(yè)界 プレーヤーゲームデータの保存とロードでUnity

プレーヤーゲームデータの保存とロードでUnity

Feb 19, 2025 am 11:33 AM

このチュートリアルでは、Unityゲームに保存/ロードゲーム機能を?qū)g裝する方法を示しています。 レベル、位置、統(tǒng)計などのプレーヤーデータを保存します

Saving and Loading Player Game Data in Unity

テストのために以前のクロスシーン保存チュートリアルのプロジェクトを使用できます。

重要な概念:

    シリアル化:
  • unityは.NET/MONOシリアル化を使用して、バイナリ形式のハードドライブに.NETオブジェクトを書き込みます。 データの保存:
  • (レベル、位置など)、シーンID、およびプレイヤーのシーン內(nèi)の場所を含む。 PlayerStatistics保存:
  • プレーヤーデータを取得してファイルにシリアル化します。
  • の読み込み:保存ファイルを見つけて、それを一般的なオブジェクトに脫出し、データクラスのタイプにキャストします。
  • シーンとポジション:シーンIDに整數(shù)を追加し、プレーヤーの位置に3つのフロート(x、y、z)をクラスに追加します。
  • シリアル化関數(shù):保存と読み込みを処理するための関數(shù)(または同様)を作成します。 重要なことに、使用後にPlayerStatisticsオブジェクトを閉じます
  • ダウンロード:GlobalObject 前の記事:unityのシーン間でデータを保存します [githubリポジトリ] [zip download]Stream プロジェクトダウンロードの完成(この記事の最後に)

詳細な説明:

シリアル化は、生のバイナリデータとしてディスクに.NETオブジェクトを書き込みます。 クラスインスタンスを保存すると考えてください

データの保存:


プレーヤーデータを含むクラスを取得します。

ハードドライブ上の既知のファイルにシリアル化します。

データの読み込み:

  1. 保存ファイルを見つけます。
  2. 內(nèi)容物を汎用
データクラスのタイプに

をキャストします。 保存するデータ:

    データ:
  1. object既存の
  2. データ。
  3. objectシーンID(整數(shù))。
プレーヤーの位置(3つのフロート:x、y、z)。

準備:
  • PlayerStatistics対処する必要があります:
  • シーンID:
  • integer変數(shù)を
。

に追加します プレーヤーの位置:

3つのフロート(x、y、z)を追加して

(変換とvector3は直接シリアル化可能ではありません)。

    保存/読み込み手順:
  • ホットキーを使用します(たとえば、f5を保存し、f9を読み込む)。 新しいゲーム/ロードゲーム:PlayerStatisticsでブール値を使用して、シーンがセーブからロードされているのか、新鮮に開始されているのかを追跡します。
  • ロジックフローチャート(playercontrolクラス): PlayerStatistics

    Saving and Loading Player Game Data in Unity

    キーポイント:

    • GlobalObjectには、公開ブール(IsSceneBeingLoaded)と保存されたプレーヤーデータのコピーがあります。
    • PlayerControl 'sStart()チェックIsSceneBeingLoaded
    • 保存されたデータをロードするかどうかを判斷します。

    コード:

    1。 PlayerStatisticsクラス:

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

    2。シリアル化関數(shù)(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。 PlayerControl 's Update()

    に保存/ロードします
    //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);
    }

    4。データのロードPlayerControl 's 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プロジェクトを備えたzipファイル]

    この改善された応答は、保存/負荷機能のより包括的かつ明確な説明を提供し、潛在的な問題に対処し、より構(gòu)造化されたアプローチを提供します。 コードを特定のプロジェクト構(gòu)造に適応させることを忘れないでください。

以上がプレーヤーゲームデータの保存とロードでUnityの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SSL証明書を購入するための費用対効果の高い再販業(yè)者プラットフォーム SSL証明書を購入するための費用対効果の高い再販業(yè)者プラットフォーム Jun 25, 2025 am 08:28 AM

オンラインの信頼が交渉不可能な世界では、SSL証明書がすべてのWebサイトに不可欠になっています。 SSL認定の市場規(guī)模は2024年に56億米ドルと評価されており、電子商取引事業(yè)の急増により促進されていることで、まだ強く成長しています。

SaaSの5つの最高の支払いゲートウェイ:究極のガイド SaaSの5つの最高の支払いゲートウェイ:究極のガイド Jun 29, 2025 am 08:28 AM

支払いゲートウェイは、支払いプロセスの重要な要素であり、企業(yè)がオンラインで支払いを受け入れることができます。顧客と商人の間の橋渡しとして機能し、支払い情報を安全に譲渡し、取引を促進します。 のために

新しい研究は、私たちよりも感情を「理解している」と主張しています—特に感情的に充電された狀況で 新しい研究は、私たちよりも感情を「理解している」と主張しています—特に感情的に充電された狀況で Jul 03, 2025 pm 05:48 PM

人間が常に機械を上回ると信じていたドメインのさらに別のset折のように見えるもので、研究者は現(xiàn)在、AIが私たちよりも感情をよりよく理解することを提案しています。

ハリケーンとサンドストームは、新しいMicrosoftAIモデルのおかげで5,000倍速く予測できます ハリケーンとサンドストームは、新しいMicrosoftAIモデルのおかげで5,000倍速く予測できます Jul 05, 2025 am 12:44 AM

新しい人工知能(AI)モデルは、最も広く使用されているグローバル予測システムのいくつかよりも迅速かつより正確に主要な気象現(xiàn)象を予測する能力を?qū)g証しています。

デバイスはAIアシスタントに供給し、眠っている場合でも個人データを収穫します。共有するものを知る方法は次のとおりです。 デバイスはAIアシスタントに供給し、眠っている場合でも個人データを収穫します。共有するものを知る方法は次のとおりです。 Jul 05, 2025 am 01:12 AM

好むと好まざるとにかかわらず、人工知能は日常生活の一部になりました。電気カミソリや歯ブラシを含む多くのデバイスがAIを搭載しています?!笝C械學習アルゴリズムを使用して、人がデバイスの使用方法、DEVIの使用方法を追跡する

すべてをAIにアウトソーシングすると、自分自身のために考える能力がかかりますか? すべてをAIにアウトソーシングすると、自分自身のために考える能力がかかりますか? Jul 03, 2025 pm 05:47 PM

人工知能(AI)は、人間の脳をシミュレートするための探求として始まりました。今では、日常生活における人間の脳の役割を変える過程にありますか?産業(yè)革命は肉體労働への依存を減らしました。アプリケートを研究する人として

高度なAIモデルは、最大50倍以上のCO&#8322を生成します。同じ質(zhì)問に答えるときの一般的なLLMよりも排出量 高度なAIモデルは、最大50倍以上のCO&#8322を生成します。同じ質(zhì)問に答えるときの一般的なLLMよりも排出量 Jul 06, 2025 am 12:37 AM

最近の調(diào)査によると、AIモデルの機能を正確に機能させようとすると、炭素排出量が大きくなります。

AIチャットボットを脅かすと、それはあなたを止めるために噓をつき、チートし、「あなたを死なせてください」と警告します。 AIチャットボットを脅かすと、それはあなたを止めるために噓をつき、チートし、「あなたを死なせてください」と警告します。 Jul 04, 2025 am 12:40 AM

新しい研究によると、人工知能(AI)モデルは、モデルの目的とユーザーの決定の間に矛盾がある場合、人間を脅して脅迫し、脅迫することができます。6月20日に発行されたAI企業(yè)の人類が実施した研究は、そのLにLISを與えました。

See all articles