DirTy™의 하루일과/DirTy™의 가당찮은Flex

[FLEX] object 오른쪽 기준으로 rotate 시키기

DirTy™ 2014. 1. 24. 17:20

플렉스에서 object를 회전시킬때 항상 왼쪽 기준으로 회전이 된다.

오늘 오른쪽 기준으로 회전 시켜야될 object가 있어서 어떻게 해야 할까 보니

matrix라는 3차원 행렬을 써서 시점을 오른쪽으로 변경한 후 처리하면 가능하였다.

아래는 예제 코드이다...

 

static public function BtnRotation(targetImg:DisplayObject):void
{
 var cx:Number = targetImg.width;
 var cy:Number = 0;

 var m:Matrix = targetImg.transform.matrix;   
 
 var rotation:Number = rotationValue - targetImg.rotation ;
   
 var p:Point = m.transformPoint(new Point(cx, cy));
  
 m.translate(-p.x, -p.y);
 m.rotate(rotation * (Math.PI / 180));
 m.translate(p.x, p.y);
 targetImg.transform.matrix = m;
}