动作脚本3:影片剪辑后gotoAndStop()的问题

时间:2013-04-18 19:58:52

标签: actionscript-3 movieclip goto

单击按钮,动画开始。然后程序在动画完成时将您引导到某个帧。

这可能吗?

所以这就是我到目前为止:第1帧中的电影剪辑movQuizIntro和按钮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帧,您需要编写什么代码和正确的语法?

2 个答案:

答案 0 :(得分: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       
}
}

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

答案 1 :(得分: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。