бял екран за симулация на предварително зареждане: AS3

в момента имам някои проблеми с предварителното зареждане.

Имам уебсайт за клас 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 е 1mb и симулира на 100kbs) той показва незабавно програмата за предварително зареждане на 100% и зарежда потребителския ми интерфейс. Така че текстът ми не се променя от 0% -> 100%, но просто получавам 100%, когато всичко е заредено.

ако някой може да ми помогне, ще съм му благодарен.

за разбирането


person Community    schedule 22.12.2009    source източник


Отговори (2)


Погледнете първия кадър с лентата за профилиране. Ако имате много неща за зареждане, можете да ги преместите на втория кадър и да оставите възможно най-малко неща за първия кадър.

Ако погледнете в инструмента за профилиране на честотната лента и симулирате изтегляне, трябва да видите, че програмата за предварително зареждане или каквото и да е съдържание се показва само след като се зареди първият кадър.

Може да се наложи да зададете рамката за експортиране на настройките на actionscript на 2, в зависимост от това какви класове/компоненти използвате.

HTH

person George Profenza    schedule 22.12.2009
comment
Имам само текстовото поле на моята сцена. който казва: ... % зареден. Зареждам съдържанието, след като вляза във функцията buildUI() чрез код - person ; 22.12.2009
comment
някакви символи в библиотеката с настройка за връзка (експортиране на клас)?. В Bandwith Profiler какъв е размерът (в KB) на първия ви кадър? - person George Profenza; 22.12.2009
comment
точно това беше проблема. Направих всичко в клас за документи. Сега, когато добавих нов кадър, промених настройките за експортиране в кадър 2, тогава всичко работи перфектно. Благодаря много - person ; 22.12.2009

Ако вашето извикване на buildUI препраща към други класове (което вероятно е така), целият този код също ще бъде зареден в първия кадър.

Ако приемем, че използвате Flash, а не Flex Builder, извикването на buildUI() би било по-добре да бъде поставено в рамка 2. И направете това, което Джордж написа за експортирането на Actionscript в рамка 2.

person frankhermes    schedule 22.12.2009