单击按钮,动画开始。然后程序在动画完成时将您引导到某个帧。
这可能吗?
所以这就是我到目前为止:第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帧,您需要编写什么代码和正确的语法?
答案 0 :(得分:0)
`
停();
movQuizIntro.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。