Как в ActionScript заставить что-то двигаться куда-то и двигаться назад?

Возможно, используя класс Tween? Я попробовал easyOut. Но если будет записано 2 Tween, 2-й перезапишет 1-й, поэтому я вижу, что объект движется только во 2-м направлении Tween, а не в 1-м направлении Tween.

Я знаю, что координаты 2-го 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);

}

person yeeen    schedule 27.01.2010    source источник


Ответы (2)


Вы запускаете две анимации одновременно, чтобы, например, прослушать 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);
}
person Patrick    schedule 27.01.2010
comment
Я знаю, почему ошибка alr, потому что это должно быть import fl.transitions.TweenEvent; не импортировать fl.transitions.TweenEvent.*; . Спасибо. - person yeeen; 29.01.2010
comment
Ознакомьтесь с моими другими связанными qn здесь: в массиве, создающем эффект волны стадиона"> stackoverflow.com/questions/2161123/ - person yeeen; 29.01.2010

Оба они происходят одновременно, вам нужно отложить второй до окончания первого.

person Tyler Egeto    schedule 27.01.2010
comment
Ознакомьтесь с моими другими связанными qn здесь: в массиве, создающем эффект волны стадиона"> stackoverflow.com/questions/2161123/ - person yeeen; 29.01.2010