我有点问题......我正在尝试为大学做我的朋友flash项目..这实际上非常简单,但我基本上不了解AS3,因为我停止使用闪光灯代替全职几年前的编码。无论如何它必须在tomo morn所以如果有人为我打破这个代码,我(和我的可怜的朋友)将永远负债..
这一行做了什么:
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();
我需要编写一个事件处理程序,每次按下按钮时显示下一个舞蹈。然后改进事件处理程序,以便一旦显示最后一个舞蹈,按下按钮将再次显示第一个舞蹈。
提前致谢!!
答案 0 :(得分:1)
有问题的行告诉你movieClip中有多少帧,所以你可以知道何时循环回到第一帧。
代替你的//你的代码就在这里:
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);