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

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

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

Feb 19, 2025 am 11:33 AM

このチュートリアルでは、Unityゲームに保存/ロードゲーム機(jī)能を?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 プロジェクトダウンロードの完成(この記事の最後に)

詳細(xì)な説明:

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

データの保存:


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

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

データの読み込み:

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

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

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

準(zhǔn)備:
  • 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ファイル]

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

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

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

ホット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

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Udemyのようなプラットフォームへの開発者のショートカット Udemyのようなプラットフォームへの開発者のショートカット Jun 17, 2025 pm 04:43 PM

Udemyと同様の學(xué)習(xí)プラットフォームを開発する場合、コンテンツの品質(zhì)だけに焦點(diǎn)を當(dāng)てるだけではありません。同様に重要なのは、そのコンテンツがどのように配信されるかです。これは、最新の教育プラットフォームがアクセスしやすく、速く、消化しやすいメディアに依存しているためです。

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

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

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

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

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

人間が常に機(jī)械を上回ると信じていたドメインのさらに別の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(jī)械學(xué)習(xí)アルゴリズムを使用して、人がデバイスの使用方法、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モデルの機(jī)能を正確に機(jī)能させようとすると、炭素排出量が大きくなります。

See all articles