0

我有一点问题......我正在尝试为我的朋友们做大学的 flash 项目.. 这实际上很容易,但我基本上不了解 AS3,因为我停止使用 flash 代替全职编码一些几年前。无论如何,它必须在明天早上,所以如果有人为我破解这段代码,我(和我可怜的朋友)将永远负债累累..

这条线有什么作用:

var numFrames:int = this.dances_mc.totalFrames;

在时间轴的第一帧有一个叫做 dances_mc 的符号,其中有 5 帧左右和一个停止功能。这些框架中的每一个都包含不同的文本和图像。有一个完整的演示,其中按钮导致文本和图像发生变化,并在最后循环。

文件中的 AS 如下所示:

trace("movie starts"+this.dances_mc.totalFrames);

var index_num:Number= 1;
var numFrames:int = this.dances_mc.totalFrames;

// Your code goes here

stop();

我需要编写一个事件处理程序,每次按下按钮时显示下一个舞蹈。然后改进事件处理程序,以便在显示最后一支舞后,按下按钮将再次显示第一支舞。

提前致谢 !!

4

1 回答 1

1

有问题的行告诉您该影片剪辑中有多少帧,因此您可以知道何时循环回第一帧。

代替你的//你的代码在这里:

function nextDance(e:MouseEvent = null):void {
    index_num++;  //increment your current index when the button is clicked
    if(index_num > numFrames){  //if your index is higher than the total amount of frame, go back to the first one
        index_num = 1;
    }
    this.dances_mc.gotoAndStop(index_num); //go to the frame of the new current index;
}

yourButton.addEventListener(MouseEvent.CLICK,nextDance,false,0,true);
于 2012-08-16T18:39:35.003 回答