Ошибка Flash - принудительная перерисовка экрана

У меня есть проект Flash, который немного уникален тем, что это проект AS3, который загружает файлы SWF AS2.

Я использовал мост JumpEye, чтобы все это игралось вместе, но у меня возникла странная ошибка.

У файла моста есть два места для загрузки SWF-файла. Основной раздел и раздел предварительного просмотра.

В первый раз, когда я загружаю предварительный просмотр, он загружается и закрывается нормально, но при второй попытке фон загруженных SWF-файлов исчезает, но элементы остаются на экране.

Я перепробовал практически все способы, которые только мог придумать, но у меня заканчиваются идеи. Я думаю, что, может быть, мне нужно сказать Flash, чтобы он все перерисовал, но я не могу найти команду.

Также и предложения, которые могут сработать, чтобы закрыть предварительный просмотр фильма, кроме:

    preview.removeMovieClip();
    preview._visible = false;       
    preview._alpha = 0;

Спасибо.


person Ryan Smith    schedule 01.06.2009    source источник
comment
Что на самом деле содержит фильм AS2? Есть ли в нем какой-то код или это просто визуальные элементы? Нет никакого способа полностью убить загруженный SWF. Если он регистрирует обработчики событий или интервалы, они могут продолжать работать. Возможно, это мешает фильму при второй загрузке.   -  person Herms    schedule 02.06.2009
comment
В большинстве случаев загружается просто скучный старый SWF-файл. Некоторые из них интерактивны, но их поведение одинаково независимо от того, какой SWF загружен.   -  person Ryan Smith    schedule 02.06.2009


Ответы (2)


Команды на перерисовку во flash нет, так как весь этап перерисовывается каждый кадр. И хотя нет возможности вручную принудительно вывести загруженный SWF из памяти, как только вы вызываете для него removeMovieClip, он навсегда выпадает из дерева отображения.

Конечно, возможно, у вас есть ошибка Flash, но гораздо более вероятно, что это проблема с контентом. Не могли бы вы подробнее объяснить, что имеется в виду под «исчезновением фона загруженных SWF-файлов»? Вы имеете в виду сплошной цвет фона SWF или элементы содержимого SWF, которые просто находятся позади других элементов? А какой компонент JumpEye вы используете?

person fenomas    schedule 07.06.2009
comment
Фон загруженного SWF исчезнет, ​​но элементы SWF останутся видимыми. Компонент JumpEye, который я использую, - это мост ActionScript: jumpeyecomponents.com / Flash-Components / Разное / - person Ryan Smith; 08.06.2009
comment
Цвет фона SWF-файла обычно не отображается, когда он загружен в другой фильм, только если это базовый фильм этого экземпляра проигрывателя Flash. Если вы видите фон, отображаемый в первый раз, это, вероятно, потому, что компонент делает это за вас и не может сделать это во второй раз по какой-то причине. В любом случае, нет никакого способа (или необходимости) указать Flash перерисовать экран. - person fenomas; 09.06.2009

Если кому интересно:

На данный момент это похоже на известную ошибку во Flash:

http://kb2.adobe.com/cps/194/tn_19435.html

Вместо removeMovieClip я использовал unloadMove, и, похоже, это помогает. Мне все еще нужно провести еще несколько тестов, но, похоже, это решение.

person Ryan Smith    schedule 11.06.2009