私はupdateメソッドを持っているゲーム内のエンティティを持っている、それは、最も近いゾンビをターゲットにする必要があり、現在、ゾンビのリストは、私がアクセスだけでグローバルオブジェクトであるが、これは間違っているようだ、私は更新方法の中にリストを渡すことができますこれが最善のアプローチであるかどうかはわかりません。ここjavascript gameメインウィンドウからエンティティの結合を減らすにはどうすればよいですか?
は私の更新方法の簡易版である:
this.update = function() {
var targetedZombie = null;
//TODO: should not be using the zombies object - tight coupling should be removed
var alivezombies = [];
for (var zombie in zombies) {
if (zombies[zombie].Alive) {
alivezombies.push(zombies[zombie]);
}
}
targetedZombie = this.GetClosestEntity(alivezombies);
if (targetedZombie) {
Fire(this, targetedZombie);
}
});
シングルトンを使用しての有用なアイデア、これはまだ全体のAPIにゾンビの配列を露出しているが、私は何かが欠けていない限り、APIは、効果的に全体の試合になるだろうか? – foz1284
あなたのAPI /ゲーム全体でゾンビを利用できないようにしてください。上の例は、メインデータの1つをパブリックに書き込み可能なウィンドウプロパティに結合しない方法を示しています。 –