Unityでゲームつくりをしている初心者です。
json形式のデータを保存して読み込み書き出しする機能を作っているのですが
読み込み部分がどうしてもうまくいきません。
具体的には、
・ファイルに書き込みはできている。
・読み込むときに初期化されてしまい、期待した状態にならない。
Application.persistentDataPathを使ってファイルの位置を見つけて確認したところ。プログラム終了後に確認したら変更されたデータが入っているのですが、次にプログラムを開始したらファイルの中身が初期化されてしまい、もともとのデータが消えてしまう状況です。
public void SavePlayerData(Player player)
{
StreamWriter writer;
FileStream fs = File.OpenWrite(Application.persistentDataPath + "/savedata.json");
string jsonstr = JsonUtility.ToJson(player); writer = new StreamWriter(fs); writer.Write(jsonstr); writer.Flush(); writer.Close(); } public Player loadPlayerData() { string datastr = ""; FileStream fs = File.OpenRead(Application.persistentDataPath + "/savedata.json"); StreamReader reader; reader = new StreamReader(fs, Encoding.UTF8); datastr = reader.ReadToEnd(); reader.Close(); return JsonUtility.FromJson<Player>(datastr); }
どのようにしたら保存されたデータを初期化されずに読みだすことができるのか、どなたか教えていただけたら幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/02 22:16