2

さまざまなムービークリップでさまざまなトゥイーンが実行されていますが、トランジションの途中でトゥイーンがフリーズすることがあるようです。

この男は同じ問題を抱えており、彼の質問は答えられましたが、彼らが何をすべきかを彼に言ったとき、彼らが何を意味するのか正確にはわかりません:http ://www.actionscript.org/forums/showthread.php3?t=222606

各ムービークリップのクラスを個別にインポートするのではなく、ルートのサイトの最初にあるトゥイーンクラスをインポートしてから、すべてのムービークリップのクラスを参照する必要がありますか?

これが私のムービークリップの1つの中のトゥイーンの例です:

// Import classes
import fl.transitions.Tween;
import fl.transitions.easing.*;

// Bring in elements with tweening
var bandY:Tween = new Tween(band, "y", Strong.easeOut, 533, 259, 3, true);
var boxY:Tween = new Tween(box, "y", None.easeOut, -122, 0, 1, true);
var signY:Tween = new Tween(sign, "y", Regular.easeOut, 551, 224, 1.5, true);
var signX:Tween = new Tween(sign, "x", Regular.easeOut, -17, 82, 1.5, true);
var dragonMaskWidth:Tween = new Tween(dragonMask, "width", Regular.easeOut, 30, 500, 3, true);
4

2 に答える 2

4

あなたが参照したフォーラムでの投稿の意味は、OPがトゥイーンの非ローカル変数を作成しようとする必要があるということでした。だから、これをする代わりに

function onClick(e:MouseEvent):void
{
    nextPage = e.currentTarget.mcTarget;
    var theTween:Tween = new Tween(currentPage,"alpha",Strong.easeOut,1,0,1,true);
    theTween.addEventListener(TweenEvent.MOTION_FINISH, onTween);
}

彼らはこれを試すように言っていました:

var theTween:Tween;  
function onClick(e:MouseEvent):void
{
    nextPage = e.currentTarget.mcTarget;
    theTween = new Tween(currentPage,"alpha",Strong.easeOut,1,0,1,true);
    theTween.addEventListener(TweenEvent.MOTION_FINISH, onTween);
}

これにより、変数「theTween」のスコープはonClickイベントハンドラー関数に対してローカルではなく、関数自体と同じスコープになります。

私の最大の推奨事項は、別のトゥイーンライブラリを使用してみることです。そこにはたくさんのライブラリがあります。フラッシュでのTweeningの組み込みライブラリには、多くの要望があります。私はこれらの1つ以上を見ていきます:

TweenLite

トゥイナー

GTween

AS3アニメーションシステム

もっとたくさんあります...ちょっと見てください

于 2010-01-25T17:39:05.777 に答える
0

実際、私は他の人が何を言っているのか理解しました。トゥイーン変数を関数の外に移動する必要があります、理にかなっています。最初は彼らのコードの違いを理解するのは困難でした。また、関数がないため、これは使用するのに悪いサンプルコードであることに気づきました。

于 2010-01-25T17:38:40.750 に答える