2009-07-15 16 views
1

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

丸い四角形を含むスプライトをトゥイーンしています。トゥイーンのスプライトは歪みを生成します。丸みのある四角形の高さではなく、元の画像を拡大していたと思いますか?ここ

は、自分のコードの簡単な例である: -

は、丸みを帯びた矩形描画:

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

-

Iは、丸みを帯びた矩形自体の高さをトゥイーンたいです。私はこれが望ましくない歪みを生み出さないことを願っています。これを達成する方法はありますか?

ありがとうございます。

答えて

2

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

以下は、9スライスガイドを使用するようにMoviClipを設定する方法の2つのチュートリアルです.1つはIDE(ガイドラインを使用)ともう1つのコードで実行されます(gridという矩形を定義し、ムービークリップのscale9Gridプロパティ)。 scale9Gridプロパティが正しく歪みなく意図したとおりに、あなたがムービークリップをスケーリング(およびTween)することができます割り当てられていたら

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

http://www.ovidiudiac.ro/blog/2009/05/scale9grid-work-and-fail/これは、scale9gridが動作しない場合のさまざまなシナリオを説明しています。 (主にネストされた子やグリッドの内側の非ベクトルグラフィックスを持つことに関係します)。

これが役に立ちます。代替案として

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}); 
} 
関連する問題