1

ボタンのようなコンポーネントを拡張して、x 値と y 値をコンポーネントの左上ではなく中央として使用するにはどうすればよいですか?

4

2 に答える 2

2

Flex 4 ではかなり簡単です :)。UIComponentにtransformAroundメソッドがあり、任意のピボットを中心にコンポーネントの位置/スケール/回転を変換できます。だからあなたはこれを行うことができます:


override public function set x(value:Number):void
{
    var pivot:Vector3D = new Vector3D(this.width/2, this.height/2, 0);
    var translation:Vector3D = new Vector3D(value, this.y, this.z);
    transformAround(pivot, null /* scale vector */, null /* rotation vector */, translation);
}

あなたはそれをカスタマイズ/最適化することができますが、それはジストです:)。

Flex 3 を使用している場合は、その方法を調べます。それはかなりハードコアで、Matrix/Matrix3D がたくさんあります。

于 2009-10-18T19:32:02.140 に答える