сделать класс preloader вместо того, чтобы иметь его в классе документа - PullRequest
0 голосов
/ 01 ноября 2011

Я создал базовый предзагрузчик, который работает в моем классе документов. У меня проблемы с этим. Я предполагаю, из-за чего класс может и не может получить доступ со сцены? Theres 2 проблемы. Во-первых, я не могу изменить ключевой кадр, на котором идет сцена из класса. во-вторых, я получаю сообщение об ошибке 1009, если я это закомментирую.

package 
{


 import flash.display.MovieClip
    import flash.events.Event;
    import flash.events.ProgressEvent;

    public class Pre extends MovieClip
    {
        public function Pre()
        {
            loaderInfo.addEventListener(Event.COMPLETE,downloadFin);
            loaderInfo.addEventListener(ProgressEvent.PROGRESS,preloadProgress);
            function preloadProgress(progressEvent:ProgressEvent):void
            {
                var floatLoaded:Number=loaderInfo.bytesLoaded/loaderInfo.bytesTotal;
                var newW:Number=this.width*floatLoaded;
                this.Fill.width=newW;
            }
            function downloadFin(event:Event):void
            {
                trace('fin')
                //stage.gotoAndStop(3);//frame with game
            }
        }
    }
}

1 Ответ

1 голос
/ 01 ноября 2011

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

private function setupPreloader() : void
{
    preloader.addEventListener(Event.COMPLETE , onPreloaderComplete);
preloader.start();
}

private function onPreloaderComplete(event : Event) : void
{
preloader.removeEventListener(Event.COMPLETE, onPreloaderComplete);
preloader.dispose();

gotoAndStop(3);
}
...