これをどう説明したらいいのかわからず、本当に困っています。それは私のコードの多くを台無しにしています。とにかく、これが基本的なものです。デフォルト設定など、いくつかの値を持つ構造体を保持する変数があるとします。
var DefaultValues = {
username: "cakeisajoke",
this: "is some",
default: {
data: 483
},
lives: 3,
playerX: 0,
playerY: 0
}
私のコードでは、この変数を「テンプレート」として使用しているため、ゲームを簡単にリセットできます。このような:
var GameValues = DefaultValues;
さて、これまでのところそれは理にかなっています。ここで、プレイヤーが命を落としたとしましょう:
GameValues.lives--;
または、プレーヤーは次のように移動します。
GameValues.playerX += 20;
GameValues.playerY -= 10;
これで、私の GameValues が変更され、ゲームをこれに設定しました。しかし、プレイヤーは失敗し、ゲームオーバーになります。彼がもう一度プレイしたい場合は、GameValues 変数をデフォルトにリセットするだけです。
GameValues = DefaultValues;
そして、私に関する限り、これは GameValues を DefaultValues に設定するだけですよね? しかし、そうではありません。何らかの理由で、GameValues と DefaultValues の値が同じであってはならないのに同じになるようになりました。たとえば、DefaultValues は、元の 1 ではなく 0 になりました。
なぜこれを行うのですか?私は見て、もう一度見て、最初の構造体を除いて、コード内のどこにも DefaultValues を設定していません。
「これとデフォルトを例として使用しました。予約されているため、実際には使用できないことがわかっています」