Zeichenpfade

Flash Player 10 und höher, Adobe AIR 1.5 und höher

Im Abschnitt zum Zeichnen von Linien und Kurven (siehe Zeichnen von Linien und Kurven ) wurden die Befehle für das Zeichnen einer einzelnen Linie ( Graphics.lineTo() ) oder Kurve ( Graphics.curveTo() ) und für das Verschieben der Linie an einen anderen Punkt ( Graphics.moveTo() ) zum Erstellen von Formen vorgestellt. Die Methoden Graphics.drawPath() und Graphics.drawTriangles() akzeptieren eine Reihe von Objekten, die dieselben Zeichenbefehle als Parameter darstellen. Mit diesen Methoden können Sie eine Reihe von Graphics.lineTo() -, Graphics.curveTo() - oder Graphics.moveTo() -Befehlen für die Ausführung in der Flash-Laufzeitumgebung in einer einzigen Anweisung bereitstellen.

Die GraphicsPathCommand -Aufzählungsklasse definiert mehrere Konstanten, die Zeichenbefehlen entsprechen. Sie übergeben mehrere dieser Konstanten (in einer Vector-Instanz) als Parameter für die Graphics.drawPath() -Methode. Mit einem einzelnen Befehl können Sie dann eine ganze Form oder mehrere Formen darstellen. Sie können die an diese Methoden übergebenen Werte auch ändern, um eine vorhandene Form zu modifizieren.

Zusätzlich zu dem Vektor von Zeichenbefehlen erfordert die drawPath() -Methode eine Reihe von Koordinaten, die den Koordinaten für jeden Zeichenbefehl entsprechen. Erstellen Sie eine Vector-Instanz mit Koordinaten (Number-Instanzen) und übergeben Sie sie an die drawPath() -Methode als zweites ( data ) Argument.

Hinweis: Die Werte im Vektor sind keine Point-Objekte; der Vektor besteht aus einer Reihe von Zahlen, wobei jeweils zwei Zahlen ein x/y-Koordinatenpaar darstellen.

Die Graphics.drawPath() -Methode ordnet jeden Befehl den jeweiligen Punktwerten zu (einer Gruppe von zwei oder vier Zahlen), um im Graphics-Objekt einen Pfad zu erstellen:

package 
{ 
    import flash.display.*; 
     
    public class DrawPathExample extends Sprite 
    { 
        public function DrawPathExample(){ 
         
            var squareCommands:Vector.<int> = new Vector.<int>(5, true); 
            squareCommands[0] = GraphicsPathCommand.MOVE_TO; 
            squareCommands[1] = GraphicsPathCommand.LINE_TO; 
            squareCommands[2] = GraphicsPathCommand.LINE_TO; 
            squareCommands[3] = GraphicsPathCommand.LINE_TO; 
            squareCommands[4] = GraphicsPathCommand.LINE_TO; 
             
            var squareCoord:Vector.<Number> = new Vector.<Number>(10, true); 
            squareCoord[0] = 20; //x 
            squareCoord[1] = 10; //y 
            squareCoord[2] = 50; 
            squareCoord[3] = 10; 
            squareCoord[4] = 50; 
            squareCoord[5] = 40; 
            squareCoord[6] = 20; 
            squareCoord[7] = 40; 
            squareCoord[8] = 20; 
            squareCoord[9] = 10; 
         
            graphics.beginFill(0x442266);//set the color 
            graphics.drawPath(squareCommands, squareCoord); 
        } 
    } 
}