När du har en samling IGraphicsData-instanser använder du Graphics-klassens
drawGraphicsData()
-metod för att återge grafiken. Metoden
drawGraphicsData()
utför en rad ritinstruktioner från en vektor med IGraphicsData-instanser i ordningsföljd:
// stroke object
var stroke:GraphicsStroke = new GraphicsStroke(3);
stroke.joints = JointStyle.MITER;
stroke.fill = new GraphicsSolidFill(0x102020);// solid stroke
// fill object
var fill:GraphicsGradientFill = new GraphicsGradientFill();
fill.colors = [0x0000FF, 0xEEFFEE];
fill.matrix = new Matrix();
fill.matrix.createGradientBox(70, 70, Math.PI/2);
// path object
var path:GraphicsPath = new GraphicsPath(new Vector.<int>(), new Vector.<Number>());
path.commands.push(GraphicsPathCommand.MOVE_TO, GraphicsPathCommand.LINE_TO, GraphicsPathCommand.LINE_TO);
path.data.push(125,0, 50,100, 175,0);
// combine objects for complete drawing
var drawing:Vector.<IGraphicsData> = new Vector.<IGraphicsData>();
drawing.push(stroke, fill, path);
// draw the drawing
graphics.drawGraphicsData(drawing);
Genom att ändra ett värde i banan som används av teckningen i exemplet, kan du rita om formen flera gånger och få en mer komplex bild:
// draw the drawing multiple times
// change one value to modify each variation
graphics.drawGraphicsData(drawing);
path.data[2] += 200;
graphics.drawGraphicsData(drawing);
path.data[2] -= 150;
graphics.drawGraphicsData(drawing);
path.data[2] += 100;
graphics.drawGraphicsData(drawing);
path.data[2] -= 50;graphicsS.drawGraphicsData(drawing);
IGraphicsData-objekt kan definiera fyllnings- och linjeformat, men fyllnings- och linjeformat är inget krav. Graphics-klassmetoder kan med andra ord användas för att ställa in format medan IGraphicsData-objekt kan användas för att rita en sparad mängd med banor, och tvärtom.
Obs!
Använd metoden
Graphics.clear()
om du vill ta bort en tidigare teckning innan du påbörjar en ny, såvida du inte lägger till något i den ursprungliga teckningen som i exemplet ovan. När du ändrar en enskild del av en bana eller mängd med IGraphicsData-objekt, måste du rita om hela teckningen för att kunna se ändringarna.
När du använder grafikdataklasser återges fyllningen när tre eller fler punkter ritas, eftersom formen är stängd vid den punkten. Även om fyllningen stängs gör inte linjen det, och dess beteende är ett annat än när du använder flera
Graphics.lineTo()
- eller
Graphics.moveTo()
-kommandon.