【JSON】UnityのJSONでのセーブについて解説してみた【ファイル出力、入力編2/2】

ファイル Unity

前回の記事の続きです。

【JSON】UnityのJSONでのセーブについて解説してみた【ファイル出力、入力編1/2】
前回の記事の続きです。①、②、③、④の順に説明していきます。①はセーブの処理。②はロードの処理。③はセーブボタンを押したときの処理。④はロードボタンを押したときの処理。です。Unityで実装したときの画像はこのようになります。

今回はUnityで実装していきます。
こちらの記事でも引き続き私のサイトを参考にする場合は自己責任でお願いいたします。

UnityのJSONについては引き続きこちらのサイトを参考にさせていただきました。

【Unity入門】5分で簡単解決!JSON形式のデータを扱う方法 | 侍エンジニアブログ
この記事では「 【Unity入門】5分で簡単解決!JSON形式のデータを扱う方法 」といった内容について、誰でも理解できるように解説します。この記事を読めば、あなたの悩みが解決するだけじゃなく、新たな気付きも発見できることでしょう。お悩みの方はぜひご一読ください。
2019年3月23日 | くろくまそふと
ゲーム制作ブログ

全体像

完成した後のUnityの画面を載せます。


このような感じです。
空のGameObjectに前回作ったTestスクリプトをアタッチして、
ボタンを2つ作り子オブジェクトのTextをセーブとロードに変えて
セーブボタンを押したときにPushSaveButtonメソッド
ロードボタンを押したときにPushLoadButtonメソッド
が呼び出されるようにします。

Testスクリプトをアタッチ

まず空のGameObjectを作り、Testスクリプトをアタッチします。

セーブ、ロードボタンを作る

ボタンを作ります。


押しやすい大きさにしてセーブとロードの2つ分を作ってください。

子オブジェクトのTextをセーブとロードにして見やすくします。


ボタンがクリックされた時のメソッドを設定します。


セーブボタンにはPushSaveButtonメソッド
ロードボタンにはPushLoadButtonメソッドを設定してください。

画像では分かりやすいようにヒエラルキーのButtonの名前をSaveButtonLoadButtonにしました。

テストプレイ

それではテストプレイしてみましょう。

セーブボタンを押すと
player.name=”かみこっぷ”
player.level=”2″
がセーブされ

ロードボタンを押すと
セーブデータが読み込まれ、Debug.Logメソッドplayer.nameplayer.levelが表示されます。

Loadメソッドでは、もしセーブデータがなければplayer.nameは空、player.levelは1が表示されるようにしています。

まずはロードボタンを押してみましょう。



このようになります。
1つ目は何も表示されず、2つ目は1が表示されています。
まだセーブデータが作られていないときは、こういう処理になるようにしました。

次にセーブボタンを押してみましょう。


セーブボタンを押してもセーブされるだけなのでコンソールには何も表示されません。
ちなみに押した時点でAssetファイルにsavedataという名前のテキストファイルが出来ています。

次にロードボタンを押してみましょう。


このようにかみこっぷ2が表示されました。
先ほど作られたsavedataというファイルが読み込まれその変数をDebug.Logメソッドで表示した結果がここに出ています。

テストプレイを停止してAssetファイルを見てみましょう。


もし画像のようにsavedataがなかったら最新状態に更新を押してみましょう。



すると、このように表示されます。

以上です。
私が悩んだところを記事にしていたらとても長くなってしまいました。
最後まで読んでいただき誠にありがとうございました。

コメント

  1. 匿名 より:

    あなた神ですわ(学生)

    • kamikoppu kamikoppu より:

      ありがとうございます!そういっていただけると嬉しいです!

      以前より知識が増えてきたので、初心者や独学の人に役立つようなUnityの簡単な解説ページをいつか作りたいな~と考えています。

      それから、以前諸事情でコメント欄を封鎖しようか考えていたのですが、そのまま放置していました(コメントが来て思い出しました)。
      突然閉鎖するかもしれませんがよろしくお願いします。ペコリ(o_ _)o))

タイトルとURLをコピーしました