遮罩与遮盖同时出现的图片切换-栅格化切换

  • 来源: 互联网 作者: 小希   2008-03-18/08:56
  • 这是在第一种图像切换的基础上,添加一些表面特效而做出来的,方法也并不复杂,只要再做一个图层,放在最上面,内容跟遮罩层一样就行了.
    具体做法:
    1.打开上一次做的FLA文件,另存为一个新的文档,或者直接在WINDOWS下拷贝一个副本.做第二类特效.
    2.作为表面特效,应该在遮罩层的上方再添加一个图层.接着,把遮罩层的内容拷贝到新添加的图层里.
    因为最后表面是看不到任何覆盖的东西,所以,里头MASK的动画必须最后一帧要不什么都没有,要不全透明.但是,为了不使原来的动画发生改变,我们复制一个元件的副本.
    3.点中刚拷贝的MASKFIELD,右键-复制元件,命名为MASKFIELD2,实例名一样.
    4.双击MASKFIELD2,进入编辑状态,用3中的办法把MASK复制一个副本MASK2,实例名可以还是MASK.
    5.双击进入MASK2,编辑MASK2.这里提供一个动画方案:先删除原来所有的帧,然后在第一帧画跟原来一样大的正方形.把颜色调成白色,ALPHA为0%;然后在第7和第15帧分别插入一关键帧,把第7帧中的正方形的ALPHA改为100%;在第1到第7,以及第7到第15帧之间创建形状补间动画.
    6.接着,CONTROL元件也复制一个CONTROL2副本,对里面第二帧的代码进行一些小修改:就是把里头的MASKFIELD全改为MASKFIELD2.
    所以最后,三帧的代码分别是
    FRAME1:
    step=5//定义每次时间轴循环要出现正方形的个数,如果太少,图象切换需要很长时间,太大了,计算机负担大,而且效果出得太快,也不好看.
    num=0//记录被复制的MASK的个数.
    FRAME2:

    for (j=1; j<=2; j++) {
     for (i=num; i<=num+step; i++) {
      duplicateMovieClip("_parent.maskfield.mask", "mask"+i, i);//复制相应的MC
      _parent["maskfield"+j]["mask"+i]._x = _parent.index[i].split("_")[0]*25
      _parent["maskfield"+j]["mask"+i]._y = _parent.index[i].split("_")[1]*25
                    //根据随机分配的索引,定义MC的位置.其中25是正方形的边长.
     }
    }
    if (num>_parent.maxhor*_parent.maxver-1) {
            //该条件成立,意味着复制数量已经足够,复制完毕,所以停止.
     stop();
    }else{
            num += Math.min(_parent.maxhor*_parent.maxver-num, step);
            //否则记录本次运行复制的MC个数.
    }
    FRAME3:

    gotoAndPlay(2);


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多