Flash AS3 - 在移动时查找Y位置补间对象

时间:2012-09-18 10:57:34

标签: actionscript-3 flash transition tween

我的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();

3 个答案:

答案 0 :(得分:1)

另外,如果您只想打印出值,可以直接运行补间功能,我认为这很酷#/ p>

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

(Documentation)

答案 1 :(得分:0)

您可以收听每次修改补间对象时触发的TweenEvent.MOTION_CHANGE事件。

Documentation

示例(未经测试):

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);
}

答案 2 :(得分: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);
    }
}

我是切换案例陈述的忠实粉丝,只是因为他们觉得比一系列if else陈述更清晰......你可以做一些像if (objectA.y ==50){trace("at 50")};

这样的事情

希望有所帮助:)