私が作成しているゲームでは、アイテムの名前と量を取得し、それをJSON「Player Invetory」に追加する関数があります。関数パラメータがJSONオブジェクトに正しく追加されない
function inventory(addOrRemove, item, amount) {
console.log(item);
if (addOrRemove == 'add') {
if (player.inventory.item== undefined) {
player.inventory.item= amount;
} else {
player.inventory.item= player.inventory.item+ amount;
}
}
console.log(player.inventory)
}
出力は、このように関数を呼び出すことは、次のようにされている場合::さて、問題は、それがに追加しないだろうということです
inventory('add','coin',10)
// In the console log on line 2, "item" is defined as "coin"
// The player invetory object as called for in the console on line 10 has one value, "item: 10"
コードは以下の通りです関数のパラメータに基づいた配列。私は、player.inventory.item:10の代わりにplayer.inventory.coin:10になるようにPlayerインベントリオブジェクトを設定します。同じことが任意のアイテムに適用されるので、インベントリではどのタイプのユニークアイテムも動的に追加できます。
私は他の同様の質問をしましたが、自分と同じ問題を抱えている人はいませんでしたが、この問題が自分自身とは何かを完全には分かっていないからです。困った。
if (player.inventory[item] == undefined) {
player.inventory[item] = amount;
} else {
player.inventory[item] = player.inventory[item] + amount;
// or: player.inventory[item] += amount;
}
ああ私は今よく分かります。説明していただきありがとうございます。私はあなたのソリューションを適用し、それは働いた。私はできるときあなたの答えを数分で受け入れます。 – Timble