Разделите класс as3 между доменами

У меня есть экземпляр класса Singleton в Main.swf, расположенный в домене A. Файл загружает Game.swf из домена B через LoaderMax (http://www.greensock.com/). Когда я пытаюсь получить доступ к Singleton, я думаю, что это не то же самое, что on on instatiated в Main.swf.

Есть ли способ заставить это?

2 ответа

Решение

Он должен быть одинаковым, если ваши файлы загружаются в один и тот же домен приложения. Вы можете использовать LoaderContext для этого.

Кроме того, вы можете использовать инфраструктуру внедрения зависимостей, например SwiftSuspenders, чтобы позаботиться об этом более элегантно, но, поскольку большинство из них в значительной степени зависят от descriptionType, я бы посоветовал проверить наличие проблем с производительностью, если вам нужно внедрить что-либо в большую часть игры. объекты.

Это одна из многих проблем с использованием Singleton (http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/). Могу ли я предложить вместо этого просто передать экземпляр в game.swf и оставить ответственность за его создание на main.swf?

Другие вопросы по тегам