본문 바로가기

ActionScript/AS3.0

호 그리기 (drawArc). ASCBLibrary

동적으로 호를 그려야 할때가 있다. 
혹은 동적으로 호를 그리면 편한상황이 있다.
자주있진 않은데 분명 있다.


하지만 지원하지 않았습니다..


지원하지 않으므로 직접 구현하는 수밖에 없다.

삼각함수를 이용하면 원을그리는 자취를 구할수있으므로
그리고자 하는  호의 각도를 알면 그 각 만큼은 그려주면 된다.

자 만들어보자!
.
.
.

하고 혹시나 검색해보니 이미 만들어 진게 있다. ASCBLibrary 의 Pen 클래스에서 지원한다.
글거보니 예전에 산 ActionScript 3.0 Cookbook 에서 나오는 바로 그 라이브러리라 하드를 뒤져보니 이미 가지고 있다.
 
어쨌든.

Pen클래스는 Graphics 클래스의  래퍼클래스랄까 데코레이터 랄까 ..
상속을 받지는 않지만 Graphics의 참조를 받아 (has a) 기능을 확장하고 있다.

좋아 굳

원하는건 drawAcr.
파라메터는 4개를 받는다

$nX:Number,                           // 호의중심 x
$nY:Number,                          // 호의중심 y
$nRadius:Number,                  //호의 반지름
$nArc:Number,                       //호의 각도
$nStartingAngle:Number = 0,    //호가 시작하는 각도
$bRadialLines:Boolean = false //외곽선을 그릴지 결정


귀찮지 않게 각도는 degree로 받고 있다.


사용예

var shape:Shape = new Shape();

var pen:Pen = new Pen(shape.graphics);
pen.lineStyle(0,0);
pen.beginFill(0xff0000);
pen.drawArc(100,100,50,180,180,true);
         
addChild(shape);

100,100지점에 50반지름으로 180도부터 시작하여 180만큼 그림


활용

TweenMax를 의 ease 기능을 이용하여 호를 그린 후 마스크로 활용(사실 이거 하려고 호를 그리고 싶었음)