패스 그리기
Flash Player 10 이상, Adobe AIR 1.5 이상
선 및 곡선 그리기에 대한 단원(
선 및 곡선 그리기
참조)에서는 단일 선(
Graphics.lineTo()
) 또는 곡선(
Graphics.curveTo()
)을 그린 다음 해당 선을 다른 지점(
Graphics.moveTo()
)으로 이동하여 모양을 형성하기 위한 명령을 소개했습니다.
Graphics.drawPath()
및
Graphics.drawTriangles()
메서드는 매개 변수와 동일한 드로잉 명령을 나타내는 객체 집합을 허용합니다. 이 메서드를 사용하면 일련의
Graphics.lineTo()
,
Graphics.curveTo()
또는
Graphics.moveTo()
명령을 제공하여 Flash 런타임을 단일 명령문으로 실행할 수 있습니다.
GraphicsPathCommand
열거형 클래스는 드로잉 명령에 해당하는 상수 집합을 정의합니다. Vector 인스턴스에서 래핑되는 이 상수 집합을
Graphics.drawPath()
메서드의 매개 변수로 전달합니다. 그러면 단일 명령을 사용하여 한 모양 전체 또는 몇 개 모양을 렌더링할 수 있습니다. 이러한 메서드에 전달되는 값을 변경하여 기존 모양을 변경할 수도 있습니다.
drawPath()
메서드는 드로잉 명령의 Vector 외에도 각 드로잉 명령의 좌표에 해당하는 좌표 집합이 필요합니다. 좌표(Number 인스턴스)가 포함된 Vector 인스턴스를 만들고 이를
drawPath()
메서드에 두 번째(
data
) 인수로 전달합니다.
참고:
벡터의 값은 Point 객체가 아니고, 벡터는 일련의 숫자이며 두 개의 숫자로 된 각 그룹이 x/y 좌표 쌍을 나타냅니다.
Graphics.drawPath()
메서드는 각 명령을 해당 점 값(두 개 또는 네 개의 숫자로 된 컬렉션)과 대응시켜 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);
}
}
}
|
|
|