Çizgi ve eğrilerin çizilmesiyle ilgili bölümde (bkz.
Çizgi ve eğriler çizme
), tek bir çizgi (
Graphics.lineTo()
) veya eğri (
Graphics.curveTo()
) çizilmesine ve ardından bir şekil oluşturmak için çizginin başka bir noktaya hareket ettirilmesine (
Graphics.moveTo()
) yönelik komutlar açıklanmıştır.
Graphics.drawPath()
ve
Graphics.drawTriangles()
yöntemleri, söz konusu çizim komutlarının aynısını parametre olarak temsil eden bir nesne kümesini kabul eder. Bu yöntemlerle, Flash çalışma zamanının tek bir ifade içinde çalışması için
Graphics.lineTo()
,
Graphics.curveTo()
veya
Graphics.moveTo()
komutlarından bir seri sağlayabilirsiniz.
GraphicsPathCommand
numaralandırma sınıfı, çizim komutlarına karşılık gelen bir sabit kümesini tanımlar. Bu sabitlerden oluşan bir seriyi (bir Vektör örneğinde sarılı)
Graphics.drawPath()
yöntemi için bir parametre olarak iletin. Daha sonra tek bir komutla bir tam bir şekil veya birçok şekil oluşturabilirsiniz. Ayrıca varolan bir şekli değiştirmek için bu yöntemlere iletilen değerleri değiştirebilirsiniz.
Çizim komutları Vektörü'nün yanı sıra,
drawPath()
yöntemi de her bir çizim komutu koordinatlarına karşılık gelen bir koordinat kümesi gerektirir. Koordinatlar (Numara örnekleri) içeren bir Vektör örneği oluşturun ve bunu
drawPath()
yöntemine ikinci (
data
) argüman olarak iletin.
Not:
Vektördeki değerler Point nesneleri değildir; vektör, iki sayıdan oluşan her grubun bir x/y koordinat çiftini temsil ettiği sayılar dizisidir.
Graphics.drawPath()
yöntemi, Graphics nesnesinde bir yol oluşturmak için her komutu ilgili nokta değerleriyle (iki veya dört sayıdan oluşan bir koleksiyon) eşleştirir:
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);
}
}
}