В ActionScript, как да накараш нещо да се премести някъде и да се върне обратно?

Използване на Tween клас може би? Пробвах easeOut. Но ако напише 2 Tween, вторият ще презапише първия, така че виждам само obj да се движи в посока 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)


Задействате двата tween-а едновременно, така че можете например да слушате motion finish събитие и стартирайте другия tween в този момент:

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, тя е, защото трябва да се импортира 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