我的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();
答案 0 :(得分:1)
另外,如果您只想打印出值,可以直接运行补间功能,我认为这很酷#/ p>
for (var i:int=0; i< 15*60; i++) {
trace (Strong.easeOut(i, -100, 800, 15*60));
}
答案 1 :(得分: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);
}
答案 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")};
希望有所帮助:)