1

短い角丸四角形と背の高い角丸四角形の間でトゥイーンしたいと思います。(私は高さだけを扱いたい - 他のパラメータはありません)。actionscript 3 でプログラミングしています。トゥイーン エンジンは TweenLite です。

角丸四角形を含むスプライトをトゥイーンしています。トゥイーンされたスプライトは歪みを生成します。丸みを帯びた長方形の高さではなく、元の画像をスケーリングしていると思いますか?

これが私のコードの簡単な例です:

-

角丸四角形を描画します。

roundRect = 新しいスプライト();
roundRect.graphics.beginFill(0x000000);
roundRect.graphics.drawRoundRect(0,0,50,15,4,4); //元の高さ: 15
roundRect.graphics.endFill();
addChild(roundRect);

次に、角の丸い四角形でマウス クリック イベントをリッスンします。

マウス イベントは、次のコードで関数をトリガーします。

TweenLite.to(this.roundRect, 1, {高さ:120}); //最終的な高さ: 120

-

角丸長方形自体の高さをトゥイーンしたいと思います。これで不要な歪みが発生しないことを願っています。これを達成する方法はありますか?

ありがとうございました。

4

2 に答える 2

2

これは、「9 スライス スケーリング」で実現できます。

以下は、9 スライス ガイドを使用するようにムービークリップを設定する方法に関する 2 つのチュートリアルです。1 つは IDE を介して (ガイドラインを使用して)、もう 1 つはコードを介して (グリッドと呼ばれる四角形を定義し、これをムービークリップの scale9Grid プロパティに割り当てることによって) 実行されます。 .

http://www.sephiroth.it/tutorials/flashPHP/scale9/

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001003.html

scale9Grid プロパティが正しく割り当てられると、意図したとおりに歪みなくムービークリップをスケーリング (および Tween) できます。

また、読む価値があるかもしれません: http://www.ovidiudiac.ro/blog/2009/05/scale9grid-work-and-fail/では、scale9grid が機能する場合と機能しない場合のさまざまなシナリオについて説明しています。(主に、ネストされた子と非ベクター グラフィックスをグリッド内に配置することに関係します)。

お役に立てれば。

于 2009-07-15T09:24:13.020 に答える
0

別の方法として、角丸長方形のみであるため、次のようにすることもできます。

var rectHeight = 15;
var roundRect = new Sprite();
addChild(roundRect);
updateRect();

function updateRect() {
    roundRect.graphics.clear();
    roundRect.graphics.beginFill(0x000000);
    roundRect.graphics.drawRoundRect(0,0,50,rectHeight,4,4);
    roundRect.graphics.endFill();
}

roundRect.addEventListener("click", click);
function click(e) {
    TweenLite.to(this, 1, {rectHeight:120, onUpdate:updateRect});
}
于 2009-07-27T19:17:06.160 に答える