2011-07-18 2 views
0

이미지 반사를 사다리꼴 모양으로 사용하고 싶습니다. 그 이유는 매트릭스의 클래스로 사다리꼴 모양을 만드는 방법을 묻는 이유flex 클래스에서 Matrix 클래스로 사다리꼴 모양을 만드는 방법은 무엇입니까?

+0

정확히 무엇을하고 싶은지 더 자세히 설명해 주시겠습니까? 주로 Matrix 클래스가 필요한 이유가 무엇인지 이해하지 못합니다. 매트릭스를 사용하여 다른 구성 요소의 뷰를 변환 할 계획입니까? 사다리꼴을 그리기 만하면 그래픽 프리미티브 (예 :.)로 끝낼 수 있습니다. spark.primitives.Rect 클래스처럼 FilledElement 클래스를 확장하고 draw (g : Graphics) 메서드를 재정의합니다. – merv

+0

이미지 반사를 사다리꼴 모양으로 사용하고 싶습니다. 그래서 왜 매트릭스의 클래스로 사다리꼴 모양을 만들지 묻습니다. – Rajkamal

+0

방금 ​​말한 내용을 붙여 넣는 것은 실제로 도움이되지 않습니다. –

답변

0

shear 수학적 이유로 당신은 Matrix 클래스 그 자체로 이것을 달성 할 수 없습니다.

그러나 이미지 또는 구성 요소 반향이 마치 3D 원근감 인 것처럼 보이는 효과는 Flash Player 10 이상으로 컴파일하는 동안 얻을 수 있습니다. Matrix3D 클래스를 사용하면 플래시의 의사 3D 변환 (투영 변환)에 영향을 줄 수 있습니다.

예제 MXML에서

:

<mx:Image id="img" source="@Embed('image.jpg')"/> 
<mx:Image id="reflection" source="{img.source}" 
      creationComplete="reflectImage()"/> 

하고 스크립트 블록 :

protected function reflectImage():void 
{ 
    var m3D:Matrix3D = new Matrix3D(); 
    m3D.appendScale(1,-1,-1); // flip the image 
    m3D.appendTranslation(0,img.height,0); // move it back to (0,0,0) 
    m3D.appendRotation(-45, Vector3D.X_AXIS); // rotate it (this gives it the trapezoid shape) 
    m3D.appendTranslation(0,img.height,0); // move to the bottom of "img" 

    reflection.transform.matrix3D = m3D;  
} 

당신은 아마 영향을 미치는 숫자와 비트를 연주 할 수 있습니다 당신이 가고있는 것 같아요. 그러나 이것은 그것에 대해가는 길입니다.

참고 : MXML의 모든 변환 (예 : x, y 설정)은 reflectImage 함수로 대체됩니다.

관련 문제