2 回答
TA贡献1796条经验 获得超4个赞
先说思路。定义一个队列,里面存放的是要播放的10个电影剪辑,如MCArray。然后定义一个电影剪辑变量,用于指定现在正在播放的电影剪辑,如CurrentMC。
接下来是函数的定义。这里面有2个:
1.播放下一个随机MC的函数,先停止正在播放的MC(即CurrentMC),然后指定一个随机的MC,将其赋给CurrentMC,然后在播放这个新的CurrentMC。
2.监听函数,这个函数用于监听现在播放的MC(CurrentMC指定的)是否播放到结尾了,如果是则执行一次第1个函数。
具体脚本如下,全部写在帧上,AS2.0脚本:
/* AS2.0 */
//定义变量
var MCArray:Array = new Array();
var CurrentMC:MovieClip;
//函数定义
function nextMovieClip():Void {
CurrentMC.gotoAndStop(1);
CurrentMC = MCArray[Math.floor(Math.random()*MCArray.length)];
CurrentMC.play();
}
onEnterFrame = function ():Void {
if (CurrentMC._currentframe == CurrentMC._totalframes) {
nextMovieClip();
}
};
//初始化
//存入MC,这里给10个电影剪辑命名为Movie1至Movie10
MCArray.push(Movie1);
MCArray.push(Movie2);
MCArray.push(Movie3);
MCArray.push(Movie4);
MCArray.push(Movie5);
MCArray.push(Movie6);
MCArray.push(Movie7);
MCArray.push(Movie8);
MCArray.push(Movie9);
MCArray.push(Movie10);
//所有影片剪辑停止播放。
for (i=0; i<MCArray.length; i++) {
MCArray[i].stop();
}
//先播放一个MC
nextMovieClip();
TA贡献1843条经验 获得超7个赞
as2.0脚本:
a = random(10);
if (a == 1) {
mc1.play();
}
if (a == 2) {
mc2.play();
}
if (a == 3) {
mc3.play();
}
if (a == 4) {
mc4.play();
}
if (a == 5) {
mc5.play();
}
if (a == 6) {
mc6.play();
}
if (a == 7) {
mc7.play();
}
if (a == 8) {
mc8.play();
}
if (a == 9) {
mc9.play();
} else {
mc10.play();
}
方式有好多种的,你要设置mc运行后,又运行此语句。
- 2 回答
- 0 关注
- 82 浏览
添加回答
举报