鼠标事件点击问题

问题描述:

当你点击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(); 

你需要杀死你的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'); 
}