您已在第 1 帧停止圆形影片剪辑,然后使用 setTimeOut 内置函数根据随机数播放它。
您可以使用此函数生成一个随机数:
function GenerateRandomNumber(max:Number, min:Number = 0):Number
{
return Math.random() * (max - min) + min;
}
您可以使用参数 max 和 min 定义设置的时间量,如下所示:
GenerateRandomNumber(4,1);
这将为您提供 1 到 4 秒之间的随机时间。您可以根据需要更改这些值。
您最好在圆形动画剪辑的父级中定义此函数,以便在需要时在其他地方重用它。
然后,在您停止它的圆形影片剪辑的最后一帧,您需要检查是否所有圆形影片剪辑都停止或不重播动画。您可以通过使用所有已完成影片剪辑的总数增加一个计数器来实现此目的。
您可以使用在圆形影片剪辑的父级中定义的函数来执行此操作,以跟踪所有这些剪辑,如下所示:
var CircleMcsPlayedCount:int = 0;
var TotalCirclesCount:int = 12;
function CircleMcFinishedPlayback()
{
CircleMcsPlayedCount++;
if(CircleMcsPlayedCount == TotalCirclesCount){
CircleMcsPlayedCount = 0;
this.gotoAndPlay(1);
}
}
您可以在圆形影片剪辑的最后一帧使用这行代码调用它:
MovieClip(parent).CircleMcFinishedPlayback();
在此函数中,当帐户等于影片剪辑的总数时,您再次将计数设置为零并将播放头再次移动到第一帧以再次播放动画。您可以将此函数中的任何代码放在所有圆圈播放完毕后需要执行的 if 语句中。
我已经修改了您上传的文件并应用了所有更改,以防您想在自己尝试之前看到它的实际效果。
这是文件:
https://mega.co.nz/#!JxtFgTJK!LWpuFCXTYrkmMK_6tm_1cAp3MKpB1h33URufrr1Pkk4
我已将其保存为 flash cs4,因为我不知道您的版本,也没有旧版本。