0

まず、私は Flex の専門家ではないので、以下は 101 の落とし穴かもしれません。

私の最初の問題は、キャンバス内に含まれるオブジェクトのグループを 90 度回転させようとしていることです。各オブジェクトは、テキストと画像を含むサイズが均一です。私の最初の問題は、オブジェクトを回転させると、それ自体の境界に合わせてサイズが変更されることです。たとえば、オブジェクトが 200 x 250 で、画像が 0 から 250 ピクセルに広がる場合、回転後にコンテンツのサイズが 200 ピクセルに変更され、画像が 200 ピクセルになったことを意味します。その後、オブジェクトのサイズを適切なサイズに戻すことができますが、ぎこちなく、ぎこちなく感じます。オブジェクトの境界に制限されずにオブジェクトを回転させるこの回転を実行するより良い方法はありますか?

次に、このコードを creationComplete イベント内で実行することが理想的です。その場合、オブジェクトの配置/センタリングは無視され、画面にレンダリングされると異なります (たとえば、クリック イベントで次のコードを実行すると、中心点で完全に回転します; creationComplete を介してオブジェクトをオフセットします)。中心点が存在しないなど)?

ポインタはありますか?

私の回転コード...

<mx:Script>
    <![CDATA[
        // Capture the init for the application
        private function InitialRotate( e:Event ):void{ 
            var offsetWidth:Number = (this.width / 2);
            var offsetHeight:Number = this.y + (this.height / 2);
            // Rotates on the center (but resizes)
            var tempMatrix:Matrix = this.transform.matrix;                
            tempMatrix.translate(-offsetWidth,-offsetHeight);
            tempMatrix.rotate(90 * (Math.PI / 180));
            tempMatrix.translate(+offsetWidth,+offsetHeight);
            this.transform.matrix = tempMatrix;
            // Adjusts the objects position and width to size appropriately
            this.y -= 5.5;
            this.width = 256;
        }
    ]]>
</mx:Script>
4

1 に答える 1

0

spark rect クラス (recently.spark.primitives.supportClasses.GraphicElement.rotation) の回転プロパティを使用します。

line.rotation=90;

このブログが役立つかもしれません: http://blog.flexexamples.com/2007/09/14/rotating-images-using-the-matrix-class/

于 2012-04-17T19:07:20.113 に答える