Starling에서는 Texture가 기본이죠.

그런데 이 Texture가 Display객체가 아니라 변형을 시키는게 쉽지 않죠.


Texture를 변형시키려면


Image.setTextCoord( vertextId: int, point: Point ) 메소드를 이용해야하죠.


point는 각 4방향을 0~1로 표현합니다.


0,0 

 

 1,0

 

 

 

 0,1

 

 1,1


이렇게 표현됩니다.


뭐 좀 헷갈리죠... 저도 잘 이해는 안가요 -_-


아래는 예제입니다.


각 Vertex를 이동하면 어떻게 되는지 이해하실 수 있을겁니다.







이해되시겠죠?


이걸 잘 이용하면


다음과 같이 마스크 효과도 낼 수 있습니다!!


이미지를 드래그 해보세요~





아래는 키보드 상하좌우 키를 누르면 회전까지 적용됩니다.






다음은 각 네 코너 위치를 setTexCoords 메소드에 적용시켜주는 예입니다.


private function setCoord(): void

{
     var i: int = 0;
     var len: int = 4;
     var dot: Dot;
     var point: Point;
     for( i ; i < len ; i++ )
     {
          dot = coords[ i ];
         
          point = new Point( ( dot.x - image.x ) / image.width, ( dot.y - image.y ) / image.height );
         
          image.setTexCoords( i, point );
     }
}




아 텍스쳐 다루기 힘드네요.




For the better.

+ Recent posts