0

私のFlash AS3スクリプトは以下のとおりです。私の質問は、移動中にY位置のトゥイーンオブジェクトを見つける(トレースする)方法です...

次のような位置を知りたい: objectA = -50, 0, 25, 50 ... 150, 170, 180, 200, 210 ..., 750, 800.

var objTween = new Tween(objectA, "y", Strong.easeOut, -100, 800, 15, true);
objTween.start();
4

3 に答える 3

1

また、値を出力するだけの場合は、トゥイーン関数を直接実行できます。これはちょっとクールだと思います

for (var i:int=0; i< 15*60; i++) {
    trace (Strong.easeOut(i, -100, 800, 15*60));
}

(ドキュメンテーション)

于 2012-09-18T11:43:37.487 に答える
0
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var objTween = new Tween(objectA,"y",Strong.easeOut,-100,800,15,true);
objTween.addEventListener(TweenEvent.MOTION_CHANGE, tweenEvents);
objTween.start();

function tweenEvents(e)
{
    switch (objectA.y)
    {
        case -100 :
            trace("objectA is at -100");
            break;
        case 800 :
            trace("objectA is at 800");
            break;

        default :
            trace(objectA.y);
    }
}

私はswitchcaseステートメントの大ファンです。なぜなら、一連のifelseステートメントよりもクリーンだと感じているからです...次のようなことができます。if (objectA.y ==50){trace("at 50")};

それが役立つことを願っています:)

于 2012-09-18T12:24:47.397 に答える
0

TweenEvent.MOTION_CHANGEトゥイーンされたオブジェクトが変更されるたびにトリガーされるイベントを聞くことができます。

(ドキュメンテーション)

例 (未テスト):

var objTween:Tween = new Tween(objectA, "y", Strong.easeOut, -100, 800, 15, true);
objTween.addEventListener(TweenEvent.MOTION_CHANGE, onTweenChange);
objTween.start();

[...]

function onTweenChange(e:TweenEvent):void {
    trace(objectA.y);
}
于 2012-09-18T11:22:18.073 に答える