Трудно получить точную конкретную информацию о ООП, которую вы ищете.Я старался сделать его как можно более коротким:
В настоящее время я разрабатываю переходный этап в HTML5.У меня нет реального опыта разработки игр.Но я знаю, как должны работать основы.Я просто хочу знать, правильно ли я делаю.
У меня есть игра, игрок и объект уровня.
В настоящее время я делаю следующее:
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 жестко запрограммирован, нет лучшего способа определить, какая переменная в данный момент обрабатывает игровой объект, или это полностью нормально, как я это делаю?
Итак, основной вопрос в том, как лучше всего позволить объектам взаимодействовать друг с другом?
И еще один последний вопрос, который является своего рода оффтопом, но что делает () ();делать?Иногда я вижу, как его используют так:
(function() {
// Content
});
Я надеюсь, что вы понимаете мои проблемы, спасибо за ваше время и ответы.:)