0

单击按钮后,动画开始。然后程序会在动画完成后将您定向到某个帧。

这可能吗?

所以这就是我到目前为止所得到的:一个电影剪辑movQuizIntro和第 1 帧中的一个按钮btnBond

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()
}
}

为了在动画完成后转到第 2 帧,您需要编写什么代码和正确的语法?

4

2 回答 2

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);
   }
}

你也可以在 ANIMATION_MC 上使用 addFrameScript。

于 2013-04-18T21:12:57.627 回答
0

`
停止();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       
}
}

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

于 2013-04-18T21:08:12.317 回答