2010-01-22 7 views
0

여기에 간단한 기능이 있습니다.as3, 특정 순서로 작업 수행

import fl.transitions.Tween; 
import fl.transitions.easing.*; 

function goBack (e:MouseEvent):void{ 
var backAlpha:Tween = new Tween(MovieClip(parent).blueOverlay, "alpha", Strong.easeOut, 1, 0, 2, true); 
MovieClip(parent).gotoAndStop("home"); 
} 
btnBack.addEventListener(MouseEvent.CLICK, goBack); 

무엇 지금하고있는 것은 : 완전히 알파 부분을 무시 의미하는 즉시 btnBack가 클릭으로 "홈"레이블을 것입니다.

내가해야 할 일은 다음과 같습니다. 알파 부분을 먼저 수행 한 다음 작업을 완료 한 직후에 "집"프레임으로 이동하는 두 번째 부분을 수행하십시오.

감사합니다, 특히 fl.transtions.Tween

에 대한 문서에서 웨이드

답변

0

봐는 motionFinish 이벤트 봐.

TweenLite : 나는이 트위닝 클래스 작품 내장, 그래서 난이 중 하나를 사용하는 방법의 팬이 아니다

import fl.transitions.Tween; 
import fl.transitions.easing.*; 

function goBackStart (e:MouseEvent):void{ 
    var backAlpha:Tween = new Tween(this.parent.blueOverlay, "alpha", Strong.easeOut, 1, 0, 2, true); 
    backAlpha.addEventListener("motionFinish", goBackFinish); 
} 

function goBackFinish(e:Event) { 
    removeEventListener(e.target.obj, goBackFinish); 
    this.parent.gotoAndStop("home"); 
} 

btnBack.addEventListener(MouseEvent.CLICK, goBackStart); 

:

기본적으로, 당신이하고 싶은 것은이 같은 것입니다 - 나의 새로운 좋아하는

Tweener -이 라이브러리의

모두 지난 몇 년 동안의 내 고토 라이브러리는 비슷한 API를 가지고와를 사용 완료를 처리 할 onComplete 속성

당신이 할 수있는 왕따 자식을 사용하여 :

import com.caurina.transitions.Tweener; 

btnBack.addEventListener(MouseEvent.CLICK, goBack); 

function goBack(e:MouseEvent):void { 
    Tweener.addTween(this.parent.blueOverlay, {alpha:0, time:2.0, transition:"easeOutQuad", onComplete:function() {this.parent.gotoAndStop("home")}}); 
} 
+0

는 goBackFinish에 당신은 이벤트 리스너를 제거해야합니다. –

+0

잘 잡으세요. 나는 항상 내 자신의 코드를 사용했다. – sberry

관련 문제