Расширенное использование API рисования

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

Среды выполнения Flash Player 10, Adobe AIR 1.5 и более поздние версии сред выполнения Flash поддерживают расширенный набор функций рисования. Новые функции API-интерфейса рисования расширяют методы рисования из предыдущих версий и позволяют создавать наборы данных для рисования фигур, изменять их во время выполнения и создавать трехмерные эффекты. Новые функции рисования API объединяют существующие методы в альтернативные команды. Для предоставления наборов данных для методов рисования эти команды используют векторные массивы и классы перечисления. Векторные массивы позволяют ускорить визуализацию более сложных фигур, и разработчики могут изменять значения массива с помощью кода для динамической визуализации фигур во время выполнения.

Функции рисования, введенные в проигрывателе Flash Player 10, описываются в следующих разделах: Создание контуров, Определение правил поворотов, Использование классов графических данных и Об использовании drawTriangles().

В ActionScript с использованием расширенного API рисования обычно выполняются следующие задачи:

  • использование объектов Vector для хранения данных для методов рисования;

  • определение контуров для программного рисования фигур за одну операцию;

  • создание правил поворотов для определения способа заливки накладывающихся фигур;

  • запрос векторных графических данных какого-либо объекта отображения: например, для сериализации или сохранения графических данных, для создания листа спрайтов во время выполнения или для рисования копии этой векторной графики;

  • использование треугольников и методов рисования для создания трехмерных эффектов.

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

Ниже приводится список важных терминов, встречаемых в этом разделе.

  • Vector — массив значений, принадлежащих к одному и тому же типу данных. Объект Vector может сохранять массив значений, используемых методами рисования для построения линий и фигур с помощью одной команды. Дополнительные сведения об объектах Vector см. в разделе «Индексные массивы».

  • Контур состоит из одного или нескольких сегментов прямой или кривой. Начало и конец каждого сегмента отмечаются координатами, фиксирующими данную кривую на определенном месте. Контур может быть замкнутым (например, круг) или открытым с отдельными конечными точками (например, волнообразная линия).

  • Поворот — направление контура, интерпретируемое визуализатором. Он может быть положительным (по часовой стрелке) или отрицательным (против часовой стрелки).

  • GraphicsStroke: класс для настройки стиля линий. Несмотря на то, что понятие «штрих» не является компонентом расширенных функций API-интерфейса рисования, данный класс вполне может использоваться для определения стиля линии и ее свойства заливки в новом API-интерфейсе рисования. Стиль линии можно настраивать динамически с помощью класса GraphicsStroke.

  • Объект Fill — объекты, созданные с помощью новых классов отображения, например, flash.display.GraphicsBitmapFill и flash.display.GraphicsGradientFill, которые передаются команде рисования Graphics.drawGraphicsData(). Объекты Fill и новые команды рисования представляют собой более объектно-ориентированный подход программирования к дублированию Graphics.beginBitmapFill() и Graphics.beginGradientFill().