JavaScriptを使用して小さなWebベースのRPGを作成しています。残念ながら保存と読み込み機能を実装すると、コードの重要な部分が完全に失敗しました。一つの小さな部分を除いて、localStorageは矢印関数を含むオブジェクトを保存しません
function save() {
localStorage.setItem("playerData", JSON.stringify(player));
}
function load() {
player = JSON.parse(localStorage.getItem('playerData'));
}
これはすべてのために完璧に動作します:これら2つの関数を使用して
var player = {
stats: {
level: 1,
healthBase: 50,
health: 50,
strength: null,
strengthBase: 7,
strengthMods: {
},
},
};
:今、私は私の選手オブジェクト内のすべてのプレーヤーのデータを保存していますのよう
。私は、コンソール
player.stats.strengthMods.mods
を呼び出した後、保存した後、私のゲームをロードする場合、私は、そのよう
player.stats.strengthMods.mods =() => (5);
のようなただし行い、それらを変更するために私の統計情報に修飾子を追加する必要がある特定の状況で 私には空のオブジェクトしか表示されません。私はなぜ私のブラウザが矢印機能をロードすることを拒否しているのか理解できません。
理由は何ですか?
JSONは関数をシリアル化できません。 –
なぜあなたは修飾子をそのように保存したいのですか?改造を挿入したり削除したりするための専用の機能を持つ 'player.stats.strengthMods.mods = [/ *ここに個々の改造者を挿入する* /]'とはどのように違うのですか? – Thebluefish
それは、彼らが呼び出され、適用される方法にほとんど依存しています。私はそれらを保存したい場合、私はあなたの道にしなければならないと思います – Eight