2010-04-19 3 views
2

Я пытался очень трудно получить AS2 швейцарских франков, чтобы правильно загрузить внутри AS3 SWF - но безрезультатно ...Проблема Загрузка AS2 SWF в AS3 SWF

Файл AS2 (который является довольно большой приложение, ссылающееся на множество внешних xml-файлов и т. д.) отлично работает при запуске в Flash Player.

При попытке загрузить тот же файл через swf AS3 (используя классы URLRequest и Loader), файл начинает загрузку, но резко останавливается на этапе предварительной загрузки. (То же самое происходит, если я попытаюсь загрузить его с помощью AS2 «loadMovie».)

Обновление: Кажется, что swf фактически загружается через AS2 loadMovie, но не в класс AS3 Loader.

Что еще можно попробовать? Параметры безопасности, пользовательские классы загрузчика - любые советы приветствуются.

ответ

3

Также имейте в виду, что swf AS2, загруженный в swf AS3, будет иметь проблемы с передачей его родительскому swf, поэтому загрузчик будет иметь проблемы с отслеживанием загрузки SWF - так что это может вызвать у вас проблемы. Вы должны создать swf, который загружается в AS2, а затем подключить его к AS3 swf с помощью LocalConnection.

1

В целом загруженный фильм должен быть спроектирован для загрузки из другого swf. Например, любой код инициализации должен быть местом после события Event.ADDED_TO_STAGE, и все ссылки на корень не работают так, как вы ожидаете. Например, корень для элемента - это этап, когда swf работает в одиночку, но когда swf загружается из другого swf, корнем является родительский swf, который может отличаться по размеру и положению, вызывая некоторые проблемы.

+0

В AS2 нет события Event.ADDED_TO_STAGE, в которое записывается дочерний SWF, который он загружает. – davr

1

В вашем коде AS2 обязательно установите значение lockroot (или было ли это _lockroot?) Равным true. Также, если вы используете _level0 в своем коде AS2 где угодно, это не сработает, вам нужно изменить это на _root.

+0

Или вы можете вручную установить _level0 в _root после загрузки фильма. В прошлом, что я сделал, используется небольшой встроенный фильм AS2 для загрузки внешнего содержимого AS2. Кажется, что этот дополнительный слой помогает. – cleong

1

проверьте этот.

  1. сделать контейнер AS2 для загрузки вашего AS2 APP, в frame2;
  2. загрузить контейнер в AS3 анимацию.
  3. делают эти связи через LocalConnection.

или

экспортировать все AS2 классы APP к кадру 2 (в опубликовывать настройки).

Смежные вопросы