快速业务通道

在flash中实现场景转换中的马赛克效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
emoveMovieClip();

  }

  for (j=0; j<100; j++) {//判断小方块是否全被清除.

   if (_root.mcMask["mcM"+j] != undefined) {

   break;

   }

  }

  if (j>=100) {//如果全被清除,则重新定义对象和变量值.

   clearInterval(_root.maskMc);//把清除时间间隔变量(在下一帧中).

   _root["mc"+k].swapDepths(2);//重新把下层的MC深度提到上层.

   k--;//控制MC复制的k值减少1,表示再一次复制的时候就复制后一个MC.

   if (k<1) {//如果k值小于1,就从3开始重新循环.并重新把下层的MC(已提高到上层)定义为被遮罩层.

   k = 3;

   eval("mc"+1).setMask(mcMask);

   } else {

   eval("mc"+(k+1)).setMask(mcMask);

   }

   _root.gotoAndPlay(2);//跳到第二帧重新执行.

  }

  }

  这一帧主要是先定义下层的MC,因为上一层的MC在前一次循环时已经定义过了(初始化由第一帧代码完成),并且在最后(当小方块全消失时,原来的上层已经不可见,这时下层提升到上层,外观上看不出来)提升到上层且被定义为被遮罩.遮罩层的小方块可以看到又重新生成了,所以我拉看到的仍是前一次循环的下层图画.再经历一次循环,利用k值的循环递减,我们可以不断地复制下层的图画,达到周而复始的效果.只要理解了k的作用,其它的也就好懂了.注意第二帧我们复制的深度是1,代表下层.到了小方块全部清除时才提升到2.第三帧就是让时间头停下,间隔0.2秒执行maskT函数.因为一次清除十个MC(这里有重复也不用担心).

  

  所以看起来就是方块随机消失,而消失完后,又返回第二帧开始新的一轮.这一帧是循环的保障.其它的几个全局变量是为了更好地控制图片的位置和尺寸的. 我们可以更改图片的尺寸而不需要改代码. 不过有一点要注意,各图片最好是一样大小.不过,就代码的特点来看,我们也可以把图片设为不同的尺寸,只要稍微改动一下就行了.这里就留给大家自己思考了.如果要加入更多的图片,只要把链接名称命名为"mc"+i(i=1,2,3...)就行了,相应地修改k的循环判断值.
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号