轻松实现多个MC自动连播

有时需要swf内实现多个MC自动连播,如何实现这种效果呢?

一般的做法是在每个MC内设置一些代码,如果只有几个MC,那种做法未尝不可,但当有比较多的MC时,这种方法就有些麻烦了。能不能在MC内不添加任何代码,实现所有需要连播放的MC按既定的顺序自动播放呢?答案是肯定的。

具体方法如下:



/*首先将需要连续播放的MC在场景中命名(这里是三个,其实数量不限,你可以放N个),并存放到数组mcA中,mcA数组的目的是便于程序检索MC对象。*/
var mcA:Array = [MC1_mc, MC2_mc, MC3_mc];   //内置的三个MC,不需要在其内加任何代码  
mcA[1].stop();       //第一个MC播放,其它两个停止
mcA[2].stop();
var i:Number = 0;      //次序变量,决定三个MC的播放顺序
onEnterFrame = function () {   //以下是关键代码部分,实现不断检索
        if (mcA[i]._currentframe == mcA[i]._totalframes) {  //当正在播放的MC播放到最后一帧时
                mcA[i].stop();       //停止播放当前的MC                    
                i++;                    //变量递增1
                if (i>2) {             //播完第三个MC时
                        i = 0;          //播放第一个MC
                }
                mcA[i].play();        //数组mcA内第i个MC播放
        }
};

轮播MC:

Flash动画


上一篇: flash保留小数位的方法
下一篇: CSS中的滑动门技术
文章来自: sxl001
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4098
发表评论
登录后再发表评论!