Белый экран симуляции прелоадера: AS3

В настоящее время у меня есть некоторые проблемы с моим preloader.

У меня есть сайт класса as3 со следующим кодом:

public function Website() {

        addEventListener(Event.ENTER_FRAME, PreloaderStart);
    }

    private function PreloaderStart(e:Event):void {
        var bt:int=loaderInfo.bytesTotal;
        var bl:int=loaderInfo.bytesLoaded;
        trace(bl/bt);
        var pt:int=Math.round(100*bl/bt);
        preloaderMC.loadInfo.text="loading "+pt+"%";
        if (bl==bt) {
            removeEventListener(Event.ENTER_FRAME, PreloaderStart);
            PreloaderOnComplete();
        }
    }
    private function PreloaderOnComplete():void {
        trace("loaded");
        buildUI();
    }

Я покрасил свою сцену в черный цвет, и когда я просто запустил свой флэш-файл, он проследил "загружен", поэтому все загружается хорошо, и он создает пользовательский интерфейс. Но когда я симулирую, нажав Ctrl+ Enter дважды, я получаю белый экран и примерно через 10 секунд. (у меня swf 1 Мб, он имитирует 100 кбит / с), он мгновенно отображает предварительный загрузчик на 100% и загружает мой пользовательский интерфейс. Так что мой текст не меняется с 0% -> 100%, но я просто получаю 100%, когда все загружено.

если кто-нибудь может мне помочь, я был бы благодарен.

С уважением

2 ответа

Решение

Посмотрите на первый кадр с помощью профилировщика. Если вам нужно загрузить много вещей, вы можете переместить их во 2-й кадр и оставить как можно меньше вещей для первого кадра.

Если вы посмотрите в профилировщике пропускной способности и смоделируете загрузку, вы увидите, что предварительный загрузчик или любой контент отображается только после загрузки 1-го кадра.

Возможно, вам придется установить рамку экспорта параметров ActionScript равной 2, в зависимости от того, какие классы / компоненты вы используете.

НТН

Если ваш вызов buildUI ссылается на какие-либо другие классы (что он, вероятно, делает), весь этот код также будет загружен в первый кадр.

Предполагая, что вы используете Flash, а не Flex Builder, ваш вызов buildUI() лучше разместить во втором кадре. И сделайте то, что Джордж написал по поводу экспорта ActionScript во второй кадр.

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