2009-03-05 9 views
6

Flex 3表示オブジェクトの登録ポイントを変更/設定する最適な方法は何ですか?私はこれが実際に簡単に変更するために組み込まれていないことを知っていますが、これを達成するためにUIComponentをどのように拡張することができるかについての提案はありますか?フレックス:表示オブジェクトの登録ポイントを設定する

答えて

0

Canvasコンテナ内に、clipContent属性をfalseに設定して入れます。キャンバス内では、好きな場所にオブジェクトを置くことができます。

+0

キャンバスは、多くの表示オブジェクトでこれを行う場合、かなり大きなオーバーヘッドを追加します。 AdobeのFlexチームのメンバーは、Flexアプリケーションのコンテナ数を最小限に抑えることを推奨しています。 – joshtynjala

2

なんらかの理由で、Flash Player APIは登録ポイントDisplayObjectsを公開しません(オブジェクトを作成すると、Flash IDEによって変更するのに苦労します)。 Davidが指摘したように、最良の解決策は、コンポーネントを別のコンポーネントの子として追加することです(UIComponentは問題ありません)。たとえば、私がButtonを持っていて、その中心に登録ポイントを入れたいのであれば、それをUIComponentCanvasではない)の子として追加し、位置を(-button.width/2, -button.height/2)に設定して子をオフセットします。

1

DisplayObjectのスプライト内にDisplayObjectを配置し、DisplayObjectのx &のy位置をターゲット登録ポイントの負の値に設定します。すべての変換をSpriteコンテナに適用します。

関連する問題