Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   FAQ (http://www.flasher.ru/forum/forumdisplay.php?f=86)
-   -   [as3] Загрузка SWF и изображений в фильм (http://www.flasher.ru/forum/showthread.php?t=79970)

Nirth 19.05.2006 15:33

[as3] Загрузка SWF и изображений в фильм
 
Класс flash.display.Loader используется для загрузки *.swf файлов, а так же для загрузки картинок(jpeg, gif и png), для начала загрузки используйте метод load(), загруженный объект добавится в список детей экземпляра Loader, так же в данном классе есть свойство contentLoaderInfo ( экземляр класса flash.display.LoaderInfo ), которое содержит в себе данные, которые нам могут понадобиться для прелоадера (на самом деле свойства данного класса, могут дать нам практически исчерпывающую информацию о контенте, например версию ActionScript и тд).
Пример

Код:

package {
        //импортируем нужные нам классы
        import flash.display.Sprite; // это базовый класс для нашего root'а
        import flash.display.Loader; // в экземпляр данного класса будем грузить картинку
        import flash.display.LoaderInfo; // из экземпляра данного класса, будем брать информацию
        import flash.text.TextField; // в текстовом поле, будем отображать процесс загрузки
        import flash.text.TextFieldAutoSize; // тут константы вариантов значения свойства textField.autoSize
        import flash.net.URLRequest; // экземпляр данного класса, будет хранить в себе адресс картинки
        import flash.events.Event; // это событие
        import flash.events.ProgressEvent;
       
        public class Test extends Sprite {
                //создаем экземпляр Loader
                private var loader:Loader = new Loader();
                //создаем экземпляр TextField
                private var loadStatus:TextField = new TextField();
                //создаем экземпляр URLReques
                private var request:URLRequest = new URLRequest("img.jpg");
               
                // конструктор
                public function Test() {
                        //Начинаем загрузку
                        loader.load(request);
                        // подписываем обработчики события
                        loader.contentLoaderInfo.addEventListener(Event.OPEN,displayPreloader);
                        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,updatePreloader);
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE,displayImage);
                }
                //наши обработчики событий
                private function displayPreloader(evt:Event):void {
                        //добавляем текствое поле
                        loadStatus.autoSize = TextFieldAutoSize.LEFT;
                        addChild(loadStatus);
                }
               
                private function updatePreloader(evt:ProgressEvent):void {
                        //изменяем информацию в процессе загрузки
                        loadStatus.text = "loaded:"+evt.bytesLoaded+" from "+evt.bytesTotal;
                }
               
                private function displayImage(evt:Event):void {
                        //удаляем текстовое поле, и добавляем само изображение
                        removeChild(loadStatus);
                        addChild(loader);
                }               
        }
}



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

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