Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Интересная проблема с removeMovieClip (http://www.flasher.ru/forum/showthread.php?t=92514)

NewFolder 27.02.2007 14:08

Интересная проблема с removeMovieClip
 
Такая проблемка: во флеш из вне подгружаются мувики, на каждую подгрузку из библиотеки атачу прелоадер. При загрузке мувика прелоадер удаляю. Все бы ничего, но иногда бывают моменты, когда прелоадер видится, но не удаляется.

Вот код функции. Все, что закоментированое - разные варианты, которые я пробовал.

Код:


function removePreloader(mc:MovieClip){
        trace("try to remove " + mc.preloader);
        if (!mc.preloader){
                return;
        }
        //removeMovieClip(mc.preloader);
        mc.preloader.onEnterFrame = function(){
                trace("OnEnterFrame " + this);               
                removeMovieClip(this);
                //this.removeMovieClip();
        }       
        clearInterval(mc.loaderInt);
}

Трейсит такую штуку
try to remove _level0.loader3
OnEnterFrame _level0.loader3
OnEnterFrame _level0.loader3
OnEnterFrame _level0.loader3
OnEnterFrame _level0.loader3
...

Что это может быть? Помогите, плиз

etc 27.02.2007 14:23

Для начала this.removeMovieClip(), а ещё delete this.onEnterFrame;

CorC 27.02.2007 14:23

фиг знает что это :)
а так?
Код:

mc.preloader.removeMovieClip();

NewFolder 27.02.2007 14:24

Я так делал, не помогло. А onEnterFrame сам удалится, после удаления мувкиа

NewFolder 27.02.2007 14:26

Цитата:

Сообщение от CorC
фиг знает что это :)
а так?
Код:

mc.preloader.removeMovieClip();

Не помогает :(

etc 27.02.2007 14:27

А мувик preloader небось руками отрисован?

NewFolder 27.02.2007 14:30

Цитата:

Сообщение от __etc
А мувик preloader небось руками отрисован?

Дизайнер рисовал. Там ничего особенного: фон, полосочка под маской и надпись "Loading..."

CorC 27.02.2007 14:34

Цитата:

Сообщение от __etc
А мувик preloader небось руками отрисован?

думаю что свапать не надо
Цитата:

Сообщение от NewFolder
на каждую подгрузку из библиотеки атачу прелоадер

исходник не покажете? :)

etc 27.02.2007 14:36

Думаю, что надо сначала выносить на положительную глубину.

NewFolder 27.02.2007 14:41

Цитата:

Сообщение от CorC
думаю что свапать не надо

исходник не покажете? :)

В начале загрузки мувика создаю прелоадер и ставлю в центр

Код:

function onStartLoad(targetMC:MovieClip, param:Object){       
        //Show preloader
        var loaderMC:MovieClip = _root.attachMovie("preloader-small", "loader" + lastLoaderId, _root.getNextHighestDepth());
        trace("Create loader " + loaderMC);
        loaderMC.onEnterFrame = function(){                               
                this._x = (_root.contentW - this.bgMov._width) / 2;
                this._y = (_root.contentH - this.bgMov._height) / 2;
                delete this.onEnterFrame;
        }
        lastLoaderId++;
        targetMC.preloader = loaderMC;
}

При окончании загрузки делаю все свои дела и пытаюсь удалить прелоадер
Код:

function onEndLoad(targetMC:MovieClip, param:Object){
        loadedMCs[targetMC._name] = targetMC;
       
        //Remove this clip from load stack
        removeFromStack();
        targetMC.loaderInt = setInterval(removePreloader, 100, targetMC);
       
        //Load next block
        if (nowLoading.length){               
                loadClip(nowLoading[0]);
        }
}



Часовой пояс GMT +4, время: 14:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.