Advanced use of the drawing API
Flash Player 10 and later, Adobe AIR 1.5 and
Flash Player 10, Adobe AIR 1.5, and later Flash runtimes, support
an advanced set of drawing features. The drawing API enhancements
for these runtimes expand upon the drawing methods from previous
releases so you can establish data sets to generate shapes, alter
shapes at runtime, and create three-dimensional effects. The drawing
API enhancements consolidate existing methods into alternative commands.
These commands leverage vector arrays and enumeration classes to
provide data sets for drawing methods. Using vector arrays allows
for more complex shapes to render quickly and for developers to
change the array values programmatically for dynamic shape rendering
The drawing features introduced in Flash Player 10 are described
in the following sections: Drawing Paths, Defining winding rules, Using graphics data classes, and About using drawTriangles().
The following tasks are things you’ll likely want to accomplish
using the advanced drawing API in ActionScript:
Using Vector objects to store data for drawing methods
Defining paths for drawing shapes programmatically in a single
Defining winding rules to determine how overlapping shapes
Reading the vector graphics content of a display object,
such as to serialize and save the graphics data, to generate a spritesheet
at runtime, or to draw a copy of the vector graphics content
Using triangles and drawing methods for three-dimensional
Important concepts and terms
reference list contains important terms that you will encounter
in this section:
Vector: An array of values all of
the same data type. A Vector object can store an array of values
that drawing methods use to construct lines and shapes with a single
command. For more information on Vector objects, see Indexed arrays.
Path: A path is made
up of one or more straight or curved segments. The beginning and
end of each segment are marked by coordinates, which work like pins
holding a wire in place. A path can be closed (for example, a circle),
or open, with distinct endpoints (for example, a wavy line).
Winding: The direction
of a path as interpreted by the renderer; either positive (clockwise)
or negative (counter-clockwise).
A class for setting the line style. While the term “stroke” isn’t part
of the drawing API enhancements, the use of a class to designate
a line style with its own fill property is part of the new drawing
API. You can dynamically adjust a line’s style using the GraphicsStroke
Objects created using display classes like flash.display.GraphicsBitmapFill
and flash.display.GraphicsGradientFill that are passed to the drawing command Graphics.drawGraphicsData().
Fill objects and the enhanced drawing commands introduce a more
object-oriented programming approach to replicating Graphics.beginBitmapFill() and Graphics.beginGradientFill().