2013-04-18 128 views
0

单击按钮后,动画开始。然后该程序在动画完成时将您指向某个框架。动作脚本3:影片剪辑后的gotoAndStop()问题

这可能吗?

因此,这是我到目前为止有:影片剪辑movQuizIntro,并在第1帧

stop() 
movQuizIntro.stop() 

btnBond.addEventListener(MouseEvent.CLICK, BondQuiz) 
btnReg.addEventListener(MouseEvent.CLICK, Registrering) 

function BondQuiz (evt:MouseEvent) 
{ 
    if (currentFrame == 1) 
{ 
    movQuizIntro.alpha = 1 
    movQuizIntro.play() 
} 
} 

一个按钮btnBond什么是你需要为了去写的代码和正确的语法动画完成后的第2帧?

回答

0

`
stop(); movQuizIntr​​o.stop(); int frameCounter = 0;

btnBond.addEventListener(MouseEvent.CLICK, BondQuiz); 
btnReg.addEventListener(MouseEvent.CLICK, Registrering); 

function BondQuiz (evt:MouseEvent) 
{ 
if (currentFrame == 1) 
{ 
    movQuizIntro.alpha = 1 
    movQuizIntro.play() 

movQuizIntro.addEventListener(EventType.ENTER_FRAME, onEnterFrame); 
} 

} 

// event handler function, runs every enter frame 
private function onEnterFrame(event:Event):Void 
{ 
frameCounter++; 
if(frameCounter > movQuizIntro.totalFrames) 
{  
    //Place code here because you know the MovieClip finished playings 
    //Go to desired frame  
} 
} 

` 我写了这个代码编辑器之外我也没有去编译,所以要点是存在的,可能会有一些小错误。 注意:这只是一个快速的方法。如果你想要更可重用/更清洁的东西,那么你会想要考虑子类化或替代的面向对象的技巧。

0

在按钮事件处理程序:

function onClick(e:MouseEvent):void{ 
    ANIMATION_MC.addEventListener(Event.EXIT_FRAME, onFromeExit); 
} 

function onFrameExit(e:Event):void { 
    if (ANIMATION_MC.currentFrame == SOME_FRAME) { 
     ANIMATION_MC.removeEventListener(Event.EXIT_FRAME, onFromeExit); 
     TARGET.gotoAndPlay(NEW_FRAME); 
    } 
} 

,你可以直接使用addFrameScript上ANIMATION_MC了。

+0

您可以在onFrameExit中使用this ANIMATION_MC – Konrad