クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【Unity】セーブデータの作り方

セーブデータの作り方です。

データのロード、セーブ

初期設定を読む

うちは初期設定をテキストで用意し、それを辞書型リストへ入れるのが好きです。

以下は「gProp」という名のテキストをリソースからロード。そのまま辞書型リストに入れます。

 private void propLoad(){
        string  tempstr = (Resources.Load("gProp", typeof(TextAsset)) as TextAsset).text;
        slines = tempstr.Split(char.Parse("\n"));
        int templen = slines.Length;
        for(int i=0;i<templen;i++){
            sitems = slines[i].Split(char.Parse("="));
            if(sitems.Length>1){
                gProp.Add(sitems[0],sitems[1]);
            }
        }
    }

 

 

テキストは、以下のような感じです。

title=Cat Revives
debug=1
stagelen=1

 

 

 

データのロードやセーブ

いくつかやり方がありますが、「QuickSave」をパッケージで取り込んで使うと簡単です。無料です。

assetstore.unity.com

 

あらかじめインポートしておきます。

 

using CI.QuickSave;
using CI.QuickSave.Core.Storage;

 

スコアのロードやセーブは以下のような感じ。

 QuickSaveSettings gQSSetting;

    //---セーブデータのロード
    private void saveLoad(){
        if (FileAccess.Exists("SaveData", false) == false)
        {
            return;
        }

        QuickSaveReader reader = QuickSaveReader.Create("SaveData", gQSSetting);
        gSaveScore = reader.Read<string>("score");
    }

    //---セーブデータを保存
    public void saveDone()
    {
        QuickSaveWriter writer = QuickSaveWriter.Create("SaveData", gQSSetting);
        
        writer.Write("score", gSaveScore);
        writer.Commit();

  Debug.Log( Application.persistentDataPath + "に保存されました");        
    }

 

 

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ