Disegno di tracciati

Flash Player 10 e versioni successive, Adobe AIR 1.5 e versioni successive

La sezione sul disegno di linee e curve (vedete Disegno di linee e curve ) introduce i comandi per il disegno di una linea ( Graphics.lineTo() ) o curva ( Graphics.curveTo() ) singola e quindi per lo spostamento della linea in un altro punto ( Graphics.moveTo() ) per creare una forma. I metodi Graphics.drawPath() e Graphics.drawTriangles() accettano un set di oggetti che rappresentano gli stessi comandi di disegno come parametro. Con questi metodi, potete fornire una serie di comandi Graphics.lineTo() , Graphics.curveTo() o Graphics.moveTo() per il runtime di Flash da eseguire in una singola istruzione.

La classe di enumerazione GraphicsPathCommand definisce un set di costanti che corrisponde ai comandi di disegno. Potete passare una serie di queste costanti (racchiuse in un'istanza Vector) come parametro per il metodo Graphics.drawPath() . Quindi, con un singolo comando, potete eseguire il rendering di un'intera forma o di diverse forme. Potete inoltre alterare i valori passati a questi metodi per modificare una forma esistente.

Oltre al Vector dei comandi di disegno, il metodo drawPath() necessita di un set di coordinate per ciascun comando di disegno. Create un'istanza Vector contenente coordinate (istanze Number) e passatela al metodo drawPath() come secondo argomento ( dati ).

Nota: i valori nel vettore non sono oggetti Point; il vettore è una serie di numeri in cui ogni gruppo di due numeri rappresenta una coppia di coordinate x/y.

Il metodo Graphics.drawPath() associa ciascun comando ai rispettivi valori in punto (una raccolta di due o quattro numeri) per generare un tracciato nell'oggetto Graphics:

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); 
        } 
    } 
}