2010-02-12 1 views
0

Я работаю над пользовательским интерфейсом, который сильно использует класс Tweener и который также загружает внешний .swf, который, как я считаю, также использует Класс Tweener.Как я могу выделить класс Tweener, чтобы загруженные .swfs не мешали моим tweens

После отслеживания всех видов ошибочного поведения я думаю, что проблема в том, что загруженный .swf выполняет вызовы Tweener.removeAllTweens() *** (это только предположение) и останавливает другие подростки, которые происходят в моем пользовательском интерфейсе.

Возможно ли это, и если да, можно ли изолировать две версии класса Tweener, чтобы они не ссылались на один и тот же объект?

Спасибо :)

ответ

2

Вы можете попробовать использовать LoaderContext с другим ApplicationDomain.

При загрузке внешнего SWF вы можете иметь загруженные определения СФБА * быть совместно с основным SWF, переопределения их или вы можете их полностью изолированные. Вы помещаете эти определения во что-то известное как ApplicationDomain.

** чтения классов, в том числе графических активов, помеченных для экспорта в библиотеке *

Установка вас интересует выглядит следующим образом:. Ваш загруженный домен SWF изолирован от вашего основного и сохраняет свои собственные определения классов ,

var separateDefinitions: LoaderContext = new LoaderContext(); separateDefinitions.applicationDomain = new ApplicationDomain(); var myLoader: Loader = new Loader(); var request: URLRequest = new URLRequest ( "OtherSWF.swf"); myLoader.load (запрос, отдельныхДефекций);

LoaderContext and ApplicationDomain explained by Senocular on kirupa

+0

я писал свой ответ, когда Marplesoft занесена его ... – goliatone

2

Да, это называется доменом приложения. Это похоже на отдельное пространство памяти для загрузки внешних SWF. На нем есть decent article here.