0

これは少しあいまい/混乱するように見えるかもしれませんが、理解できることを願っています.

XML から配列を埋めています。これらの配列には動的な textFields があり、これらの textFields はムービークリップの子です。

このムービークリップをトゥイーンして、ステージ上で textFields の配列を 1 つずつアニメーション化します。XML のソースは 2 つあります。1 つは実際のサイトからのもので、もう 1 つは hdd に保存されている XML からのものです。まず、textFields の配列を埋めてから、ムービークリップをアニメーション化します。最初の 1 つでこれを行い、次にアニメートし、2 番目のものでもう一度実行し、1 番目のもので再びアニメ化し、というように繰り返します。

myTween = new Tween(mc,"x",None.easeNone,sizeOfStage,0 - mc.width,mcSpeedAuto,true);

私のトゥイーンは で終わります0 - mc.width。問題は、最初に「より大きな」XML をトゥイーンすると、次のより小さい XML がトゥイーンされるときに、大きなものを再びトゥイーンする前に空のスペースがたくさんあることです (空白をトゥイーンしますか?)。

myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish);

onFinishすべての配列をクリアします (そうしないと、2 番目のトゥイーンには 1 番目の情報が残ります。例: 1 番目には 25 フィールド、2 番目には 10、1 番目には 25 フィールド、2 番目には 10 が表示され、残りの 15 は1 つ目)、2 つ目のトゥイーンを呼び出します。これを行うことで、空白もすべてクリアされると思いましたが、明らかにそうではありません。mc.width「より大きな」値を保持し、常にそれでトゥイーンし、2番目のケースで終了するのに時間がかかると思います。配列を埋めるたびにテキストフィールド幅の合計としてmc.widthを設定しようとしましたが、これもうまくいかなかったので、何が問題なのかよくわかりません:/

これは混乱しすぎですか?何か案は?

前もって感謝します。

4

1 に答える 1

1

注:デフォルトのas3Tweenクラスの使用はbunkです。多くの場合、アニメーションが終了するGC にトゥイーンが収集されるためです(「空白」が発生しているように聞こえます)。

新しいトゥイナーをお勧めします。どのトゥイーンがパフォーマンスに最適かについては多くの話がありますが、個人的には、トゥイーンがかなり最小限の場合 (あなたの例のように) を簡単にします。

適切な交換用トゥイナー:

最後の 2 つは同じエンジンに基づいています。Tweener はパフォーマンス スケールが低いという話がありますが、私はその独創性と使いやすさから Tweener を好みます。賢明に選択してください!

** 編集 - Caurina Tweener を使用した例 **

import caurina.transitions.Tweener;

/* tweens "myClip" from it's current alpha to alpha=1.0 in 250ms (1/4
second) using the "linear" functionality */ Tweener.addTween(myClip,
{alpha:1.0, time:0.25, transition:"linear"});

/* tweens "otherClip" from it's current x position to x=100 in 500ms
(1/2 second) using the "easeOutCirc" functionality */
Tweener.addTween(otherClip, {x:100, time:0.5,
transition:"easeOutCirc"});

また、トゥイーンのトランジションタイプのリストを次に示します (トゥイーンをクリックすると、アニメーション グラフの再生が表示されます)。

于 2011-08-19T15:11:27.123 に答える