1

當你點擊ageImg按鈕(SWF中的粉紅色圖像)時,它會調用下一個應該隱藏所有其他圖像的函數,並將該年齡單詞上移到舞臺上,但出於某種原因後一秒鐘它變爲空白,並且ageFlash功能再次開始,導致整個動畫從頭開始。我不知道它爲什麼會循環。鼠標事件點擊問題

[LINK TO SWF FILE]

import com.greensock.TweenLite; 
import com.greensock.TimelineLite; 
import com.greensock.plugins.*; 
import flash.events.MouseEvent; 

var ageismTimeline:TimelineLite = new TimelineLite(); 

     function init():void{ 
      ageFlash(); 
      ageImg.ageism.visible=false; 
      racImg.racism.visible=false; 
      hatImg.hate.visible=false; 
      sexImg.sexism.visible=false; 
     } 


     function ageFlash():void{ 
      ageImg.visible=false; 
      ageImg.buttonMode = true; 
      ageImg.addEventListener(MouseEvent.CLICK, stopPicLoop); 
      TweenLite.delayedCall(1,racFlash); 
     } 

     function racFlash():void{ 
      racImg.visible=false; 
      TweenLite.delayedCall(1,hatFlash); 
     } 

     function hatFlash():void{ 
      hatImg.visible=false; 
      TweenLite.delayedCall(1,sexFlash); 
     } 

     function sexFlash():void{ 
      TweenLite.delayedCall(1,ageFlash); 
      ageImg.visible=true; 
      racImg.visible=true; 
      hatImg.visible=true; 
     } 

     function stopPicLoop(event:MouseEvent):void{ 
       switch (event.type) { 

         case "click": 

          trace(event.type); 
           ageAni(); 

           break; 

         case 2: 

           break; 

         case 3: 

           break; 

       } 
      } 

      function ageAni():void{ 
      racImg.visible=false; 
      hatImg.visible=false; 
      sexImg.visible=false; 
      ageImg.visible=true; 
      ageImg.ageism.visible=true; 
      ageismTimeline.from(ageImg.ageism,.5,{y:stage.stageHeight}); 

      trace('ageism'); 
     } 
init(); 

回答

1

你需要殺死你的ageFlash方法建立racFlash方法延遲呼叫,否則你的代碼將繼續在其快樂的方式。您可以使用TweenLite.killDelayedCallsTo方法來執行此操作(請參閱documentation):

function ageAni():void{ 
    racImg.visible=false; 
    hatImg.visible=false; 
    sexImg.visible=false; 
    ageImg.visible=true; 
    ageImg.ageism.visible=true; 

    TweenLite.killDelayedCallsTo(racFlash); // kill the delayed call 
    ageismTimeline.from(ageImg.ageism,.5,{y:stage.stageHeight}); 

    trace('ageism'); 
}