それで、ここで大きく考えましょう。まとめたいMMO全体があるとしましょう。当然、これにはMob、アイテム、スプライトシート、タイルマップ、ダイアログ、キャラクターなどの多くのリソースが含まれます。通常のゲームエンジンでは、マップや「」などの任意の指定子に基づいてこれらのリソースをロードまたはアンロードします。ゾーン"。
これのJavascriptバージョンはありますか?たとえば、ゲームループの実行中にできるでしょうか。
(擬似コード)
If playerPosition = theRightPlace {
Load Resources for Next Zone
Unload Resources for Previous Zone
}
これを行うことでパフォーマンスが向上しますか?それとも、ゲームのすべてのリソースをロードして、それで済ませる必要がありますか?一部のゾーンではクラスUglyMonsterがあり、別のゾーンではUglierMonsterがあるとします。
これらの2つのクラスは、John Resigの古典的な継承クラス構造(この会話スターターに到達するまで使用していたもので、この種のプログラムに便利です)を介してインスタンス化できます。
var UglyMonster = Monster.extend({
Stuff why it is ugly;
Make a position!
Attack player!!!
});
var Monster1 = new UglyMonster();
または機能
function UglyMonster(name, position) {
Create Ugly Monster!!!! Attack player!
Stuff why it is ugly
}
var Monster1 = new UglyMonster('Fred', 100);
それらをすべて変数として宣言すると、ゲーム内のすべてのモンスターはグローバル変数に座っていますね。実際に変数を作成せずに変数を宣言する方法はありますか?私はJavascriptの継承ゲーム全体に慣れていないので、おそらく何か明らかなものが欠けています。
浮かんでいるこれらの種類のクラスを処理するための最良の方法は何ですか?それらを残しますか?それらを削除しますか?関数を介してインスタンス化しますか?それは顕著な違いをもたらしますか?
私が達成したいことを十分に明確に述べたことを願っています。ありがとうございました!