Показать сообщение отдельно
Старый 04.09.2012, 13:37
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 10  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
данном примере Game это document class и да он валяется на сцене.
Ну значит переписывайте плеер. Или сделайте отдельный документ-класс, который создает game и добавляет ее в список отображения.

Цитата:
Для чего я это сделал, все просто т.к. это классы, которые создаются единожды.
Третий вопрос был не про это. Третий вопрос был про ленивую инициализацию. Зачем вам там ленивая инициализация? Почему не создавать public static const instance : Game = new Game(...)? Или вы взяли пример кода и не разбирались, что он делает? Такой номер не пройдет. Кроме того, "все классы создаются единожды" - это недостаточная причина для создания singleton'а. Самым простым решением будет создать по одному экземпляру класса и не мучиться. Так как вам все равно создавать новый документ-класс, в его конструкторе можно создать Game, Hud и передать одному ссылку на другого (один - в конструкторе, другой - через setter).

Цитата:
Как сделать, так чтобы эти два классы смогли контактировать?
Передавайте им обычные ссылки. Через параметры конструктора. Через сеттеры и т.п. И вообще, какую задачу (большую, два синглтона - способ ее решения) вы пытаетесь решить? Зачем ваш hud хочет Game? Наверное, ему достаточно какого-то четко выделенного интерфейса. И hud'у без разницы, будет его реализовывать Game или кто-то еще. Ладно, еще понятно, зачем Game может понадобиться Hud. Ну сделайте фабрику, пусть Game вызывает craeateHud(this), когда ей понадобится (первый раз) hud. И вообще, в этом случае hud будет жить только внутри game (что правильно), а не своей собственной жизнью.