(812) 572-16-47

(812) 941-13-63

mail@eskizspb.ru

ActionScript3: Создание расширенного загрузчика (Loader)

к списку уроков

ActionScript3 предоставляет нам отличный инструмент для загрузки всякой всячины (jpg, png, swf). И реализован он в виде класса Loader.

Для того чтобы получить к нему доступ не забудьте добавить в ваш код строку:

import flash.display.Loader;

Loader или по-русски загрузчик реализует массу полезных возможностей. Если Вы активный ActionScript-программист, то частота его использования Вам известна.

Поэтому актуальна некоторая его доработка дабы упростить процесс и уменьшить объем нашего кода.

Далее по тексту пример класса расширенного загрузчика, который реализует следующие возможности.

  • Загрузка начинается в момент создания объекта
  • Стандартная обработка по завершении загрузки
  • Стандартная обработка ошибки
package {
  import flash.display.Loader;
  import flash.events.Event;
  import flash.events.IOErrorEvent;
  import flash.net.URLRequest;

  public class XLoader extends Loader {
    public var loaded:Boolean;
    private var func:Function;

    public function XLoader(_path:String,_func:Function=null) {
      func = _func;
      contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded);
      contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onError);
      load(new URLRequest(_path));
    }

    private function onLoaded(e:Event):void {
      loaded = true;
      
      //Запускаем функцию полученую при создании объекта 
      if (func != null) {
         func();
      }

      //Убиваем ожидание событий чтобы не грузить оперативку
      contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoaded);
      contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,onError);
    }

    private function onError(e:IOErrorEvent):void {
      trace("XLoader Error: " + e.text);

     //Убиваем ожидание событий чтобы не грузить оперативку
      contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoaded);
      contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,onError);
    }
  }
}

ДРУГИЕ УРОКИ ПО ActionScript 3

  • Создание градиента
  • Передача данных в архиве zip
  • Получение класса из внешнего swf файла



  •