0

私が達成しようとしていることは非常に簡単です。ステージ上に MC があり、別の X 座標にトゥイーンしようとしています。

4 つの TweenLite.to シーケンスをセットアップしましたが、何らかの奇妙な理由で 1 つだけがトリガーされています。何が間違っているのでしょうか?

TweenLite.to(slider.mc_slider,1,{x:_returnXPos(95), ease:menuEasing});
TweenLite.to(slider.mc_slider,1,{delay: 1, x:_returnXPos(35), ease:menuEasing});
TweenLite.to(slider.mc_slider,1,{delay: 2, x:_returnXPos(50), ease:menuEasing});

//Function which returns x coordinate of Sliderbar - related to defined percentage
function _returnXPos(definedPercentage:Number):Number {
    var defineWidth:Number = slider.mc_background.width * (definedPercentage/100);
    return defineWidth;
}
4

3 に答える 3

4

問題は、正しい設定で を使用していることを確認する必要があることです。OverwriteManagerそうしないと、遅延に関係なく、トゥイーンが上書きされる可能性があります。http ://www.greensock.com/overwritemanager/ を参照してください。

于 2011-06-01T11:32:02.793 に答える
1

dain が提案したことに加えて、TimelineLightもチェックしてください。

于 2011-06-01T11:33:53.237 に答える
0

コードを見ると(これをテストできるマシンではありません)、最後のトゥイーンだけが実行されています。それらを順番に実行したい場合は、コールバック関数を指定する必要があります。残念ながら、無名関数は使用できません。

TweenLite.to(slider.mc_slider,1,{x:_returnXPos(95),ease:menuEasing,onComplete:nextTween,onCompleteParams:[35]});

function nextTween(newPos:int)
{
    TweenLite.to(slider.mc_slider,1,{x:_returnXPos(newPos),ease:menuEasing,onComplete:finalTween,onCompleteParams:[50]});
}

function finalTween(newPos:int)
{
    TweenLite.to(slider.mc_slider,1,{x:_returnXPos(newPos),ease:menuEasing,onComplete:finalTween,onCompleteParams:[50]});
}

コードを3回繰り返しているため、最良の答えではありません。PC を手に入れたら、これをテストできます。コードを 1 つの関数にリファクタリングします。

于 2011-06-01T11:38:30.850 に答える