あなたが探しているOOPに関する正確な情報を得ることは難しいです。 私はできるだけ短くしておきました。Javascriptオブジェクトインタラクション(OOP)
私は現在、HTML5でジャンプnを開発中です。 私は実際にゲームを開発する上で実際の経験はありません。 しかし、私は基礎がどのように働くべきか知っています。 私は正しいことをしているかどうかだけ知りたい。
私はゲーム、プレイヤー、レベルオブジェクトを持っています。
私が現在やっていることは以下の通りです:
Game.player = new Player();
Game.level = new Level();
Game.level.load(Game.currentLevel);
...
Game.run();
は最善の方法は、私は例えば、自分でそれらのすべてを呼び出す必要かということです:彼らは方法私は
var Player = new Player();
var Level = new Level();
Level.load(Game.currentLevel);
...
Game.run();
今すぐ(最初のもの)それをやっていることは、私にとってより論理的なようです。 しかし、レベルオブジェクトの関数では、私はゲームオブジェクトからさまざまな変数を調べたり、自分の関数を呼び出す必要があります。したがって、私はGame.level.funcNameをLevelオブジェクト関数の中に記述する必要があります。しかし、Game.levelはレベルオブジェクトの宣言ポイントに実際に存在しないので、間違っていて汚いと感じます。ここでは別の例である:
Level.prototype.reset = function() {
this.load(Game.currentLevel);
};
Game.currentLevelがハードコードされては、現在、ゲームオブジェクトを処理する変数を検出するための任意のより良い方法はありませんか、それは私がそれをやっている方法は完全に大丈夫ですか?
基本的な質問は、オブジェクト同士が相互作用できるようにするにはどうすればよいでしょうか?
最後に質問がありますが、それは何のためですか?行う? 私は時々、それはこのように使用beeingて参照してください。
(function() {
// Content
});
私は、あなたが私の懸念を理解し、あなたの時間と回答に感謝を願っています。 :)
質問を分割する必要があります。ただ一つに答えるのは難しいです。それは言った。最後の質問に。それは自己呼び出しラムダです。それは、それが解析された瞬間に常に実行されることを意味します。通常、関数を定義する場合は、別々に呼び出す必要があります。 –