使用Tween类可能吗?我试过了easeOut。但是如果要写2 Tween,第二个将覆盖第一个,所以我只看到obj在第二个Tween方向移动,而不是第一个Tween方向。
我知道下面第二个Tween的坐标不正确(因为所有坐标都应该遵循定义的参考点),所以我需要找出徽标的宽度和高度。但现在好了,因为它是用于测试目的。
import fl.transitions.Tween;
import fl.transitions.easing.*;
logo.visible = false;
addChild(logo);
circle.addEventListener(MouseEvent.CLICK, moveObj);
function moveObj(e:MouseEvent):void{
logo.visible = true;
var tweenRight:Tween = new Tween(logo,"x",None.easeOut, 100, 300, 2, true);
var tweenLeft:Tween = new Tween(logo,"x",None.easeOut, 300, 100, 2, true);
}
答案 0 :(得分:0)
你同时发生这两件事,你需要延迟第二件事,直到第一件结束。
答案 1 :(得分:0)
你正在同时触发两个补间,所以你可以听一下motion finish事件并在此时启动另一个补间:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
logo.visible = false;
addChild(logo);
circle.addEventListener(MouseEvent.CLICK, moveObj);
function moveObj(e:MouseEvent):void{
logo.visible = true;
var tweenRight:Tween = new Tween(logo,"x",None.easeOut, 100, 300, 2, true);
tweenRight.addEventListener(TweenEvent.MOTION_FINISH, onTweenRightFinished);
}
function onTweenRightFinished(e:TweenEvent):void {
e.currentTarget.removeEventListener(TweenEvent.MOTION_FINISH, onTweenRightFinished);
var tweenLeft:Tween = new Tween(logo,"x",None.easeOut, 300, 100, 2, true);
}