Unity のロジックの保存と読み込み

セーブおよびロード ロジックを Unity ゲームに統合し、プレーヤーの進行状況と重要なゲームの状態をシームレスに保持する手順を確認してください。飛び込んでみましょう!

ステップ 1: Unity プロジェクトを作成する

まだ行っていない場合は、Unity を開いて、新しいプロジェクト を作成することから始めます。選択した開発環境に必要なアセットがインストールされていることを確認してください。

ステップ 2: ゲーム要素をデザインする

ゲーム要素を設計し、どのデータを保存およびロードする必要があるかを特定します。これには、プレーヤーの positionsscores、またはその他の関連情報が含まれる場合があります。

ステップ 3: 保存ロジックの作成

という新しいスクリプトを作成し、その中に関連するゲーム データを保存するロジックを実装します。 Unity は、この目的のために PlayerPrefs または他のシリアル化メソッドを提供します。以下に基本的な例を示します。

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }
}

ステップ 4: 書き込みロード ロジック

スクリプトを拡張して、保存されたデータをロードするためのロジックを含めます。これには、PlayerPrefs からの読み取りまたはファイルからのデータの逆シリアル化が含まれる場合があります。

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    void Start()
    {
        // Load the player's score from PlayerPrefs when the game starts
        LoadGame();
    }

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }

    public void LoadGame()
    {
        // Load the player's score from PlayerPrefs
        playerScore = PlayerPrefs.GetFloat("PlayerScore", 0f);
        Debug.Log("Game loaded. Player's score: " + playerScore);
    }
}

ステップ 5: スクリプトを添付する

SaveLoadManager スクリプトを Unity シーン内の関連するゲーム オブジェクトにアタッチします。

ステップ 6: 保存トリガーと読み込みトリガーを実装する

SaveGame」を呼び出す特定のイベントやボタンなど、ゲーム内のトリガーを定義します。 'SaveLoadManager' スクリプトの 'LoadGame' メソッド。

ステップ 7: 保存とロードをテストする

ゲームを 実行し、保存とロードの機能をテストします。データが正しく保存およびロードされ、プレイヤーが進行を再開できることを確認します。

Unity の完全な保存/ロード シリアル化システムをお探しの場合は、Easy Save を確認してください。

おすすめの記事
Unity の GUILayout の概要
Unity でのタイマーの実装
Unity でオブジェクトをマウス カーソルに追従させる方法
Poppy Playtime からインスピレーションを得て Unity で GrabPack を作成する
Unity でバレットタイムエフェクトを作成する
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装