Основы программирования отображаемого содержимого

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий

Во всех приложениях, созданных с помощью ActionScript 3.0, существует иерархия отображаемых объектов, которая называется списком отображения . См. пример ниже. Список отображения содержит все видимые элементы в приложении.

<Иерархия списка отображения>

Как показано на рисунке, экранные объекты делятся на одну или несколько следующих групп:

  • Рабочая область

    Рабочая область — это основной контейнер экранных объектов. В каждом приложении есть один объект рабочей области, который содержит все экранные объекты. Рабочая область — это контейнер верхнего уровня иерархии списка отображения:

    С каждым SWF-файлом связан класс ActionScript, который называется основным классом SWF-файла . При открытии SWF-файла в Flash Player или Adobe AIR вызывается функция конструктора для этого класса. Создаваемый экземпляр (который всегда принадлежит к типу экранного объекта) добавляется в качестве объекта рабочей области. Основной класс SWF-файла всегда расширяет класс Sprite (дополнительные сведения см. в разделе « Преимущества подхода с использованием списка отображения »).

    Рабочую область можно вызвать с помощью свойства stage любого экземпляра DisplayObject. Дополнительные сведения см. в разделе « Установка свойств рабочей области ».

  • Экранные объекты

    В ActionScript 3.0 все появляющиеся на экране в приложении элементы принадлежат к типу экранных объектов . В пакет flash.display входит класс DisplayObject , который является базовым классом, расширяемым рядом других классов. Эти классы представляют разные типы экранных объектов, включая векторные фигуры, фрагменты роликов и текстовые поля. Обзор этих классов см. в разделе « Преимущества подхода с использованием списка отображения ».

  • Контейнеры экранных объектов

    Контейнеры экранных объектов — это особые типы экранных объектов, которые могут не только воспроизводиться на экране, но и иметь дочерние экранные объекты.

    Класс DisplayObjectContainer является подклассом для класса DisplayObject. Объект DisplayObjectContainer может содержать экранные объекты в списке дочерних объектов . Например, на следующей иллюстрации показан тип объекта DisplayObjectContainer, который называется Sprite и содержит различные экранные объекты:

    <Объект Sprite, содержащий экранные объекты>
    A.
    Объект SimpleButton. Этот тип экранного объекта может принимать состояния «up» (кнопка не нажата), «down» (кнопка нажата) и «over» (курсор на кнопке).

    Б.
    Объект Bitmap. В этом случае объект Bitmap был загружен из внешнего файла JPEG с помощью объекта Loader.

    В.
    Объект Shape. «Рамка изображения» содержит прямоугольник со скругленными углами, который отрисован в ActionScript. К этому объекту Shape применен фильтр «Тень».

    Г.
    Объект TextField.

    В контексте обсуждения экранных объектов объекты DisplayObjectContainer называют также контейнерами экранных объектов или просто контейнерами . Как отмечалось ранее, рабочая область является контейнером экранного объекта.

    Хотя все видимые экранные объекты наследуют класс DisplayObject, тип каждого из них определяется конкретным подклассом класса DisplayObject. Например, для классов Shape и Video существует функция конструктора, а для класса DisplayObject — нет.

Важные понятия и термины

Ниже приводится список важных терминов, встречающихся при программировании графики с помощью ActionScript:

Альфа
Значение цвета, отражающее меру прозрачности (точнее говоря, непрозрачности) цвета. Например, цвет, значение альфа-канала которого составляет 60 %, обладает насыщенностью 60 % и прозрачен на 40 %.

Растровая графика
Графическое изображение, которое определяется в компьютере как сетка (строки и столбцы) из цветных пикселов. Обычно растровая графика включает цифровые фотографии и подобные изображения.

Режим наложения
Описание взаимодействия содержимого двух перекрывающихся изображений. Как правило, непрозрачное изображение, размещенное поверх другого изображения, просто загораживает картинку внизу так, что ее совсем не видно. Однако при использовании различных режимов смешивания цвета изображений совмещаются разными способами. В результате в роли итогового содержания выступает то или иное сочетание двух этих изображений.

Список отображения
Иерархия экранных объектов, которая визуализируется Flash Player и AIR в качестве видимого содержимого экрана. Рабочая область является корневой для списка отображения, и все экранные объекты, которые прикрепляются к рабочей области или ее дочерним объектам, формируют список отображения. Это происходит даже тогда, когда объект фактически не визуализируется (например, если он находится за границами рабочей области).

Экранный объект
Объект, представляющий некоторый тип визуального содержимого в Flash Player или AIR. В список отображения можно включать только экранные объекты. Все классы экранных объектов являются подклассами класса DisplayObject.

Контейнер экранного объекта
Особый тип экранного объекта, который может содержать дочерние экранные объекты помимо (обычно) собственного экранного представления.

Основной класс SWF-файла
Класс, определяющий поведение самого внешнего экранного объекта в SWF-файле, который в сущности является классом самого SWF-файла. Например, в SWF-файле, созданном в среде разработки Flash, основным классом является класс документа. Он имеет «основную временную шкалу», в которой содержатся все остальные временные шкалы. Основной класс SWF-файла — это класс, экземпляром которого является основная временная шкала.

Маскирование
Метод скрытия определенных частей изображения (или, напротив, их показа). Части изображения маски становятся прозрачными, так что становится видно содержание под ней. Этот термин относится к липкой ленте, которая применяется малярами для предотвращения попадания краски в те или иные области.

Рабочая область
Визуальный контейнер, который служит основой или фоном всего визуального содержимого SWF-файла.

Преобразование
Корректировка визуальных характеристик графики, например: поворот, масштабирование, сдвиг, деформация или изменение цвета объекта.

Векторная графика
Графика, которая определяется в компьютере как линии и фигуры, прорисованные с определенными характеристиками (толщина, длина, размер, угол и позиция).