プレイヤーのステータスを保存できないバグを解決するのにすべての時間を使いました。
最初にゲームを始めた際は、セーブデータはありません。なので、ロードすることができずundefineが返ってくると思っていました。これが間違いでした。
WebStorageのgetItem関数は、キー値に対応するデータがない場合にNULLを返してきます。undefineではありません。
僕は「undefineの時はこっちの値をステータスにしてね」みたいな感じでやっていたので、ロードがうまくいかなかったわけです。
そもそも、そんな回りくどいことをしなくても、一番最初にゲームを起動したときに初期のセーブデータを作ってしまえばよかったです。失敗しました。
こんな単純なことに気づくのに数時間かかりました。
試しにMaxHPを300にしてセーブしてみました。
ちゃんとHPが300のまま保存されています。
本日の進捗は以上です。
それではまた明日。