栏目分类
Fireworks | 特效制作 | 设计技巧 | 设计实例 | 基础教程
Dreamweaver | 技术教程 | 应用实例 | 基础教程
Flash | 特效制作 | ActionScript | 制作技巧 | 制作实例 | 基础教程
FrontPage | HTML/CSS | JavaScript | ASP
排行榜
·Flash制作烟花效果动画
·两只蝴蝶飞舞动画,Flash制作方法
·Flash实例教学:三维烟花动画制作
·Flash制作逼真的太阳地球月亮运动漂亮动画
·中秋贺卡制作:月饼大游行
·Flash8.0教程:动态模糊效果
·Flash实现动态遮罩:图片渐出效果
·Flash动画实例:雪景贺卡制作
·中秋寄相思自制Flash贺卡
·Flash实例之电子日历
·经典Flash源文件集锦-导航篇_韩式导航
·Flash制作美丽的蜻蜓飞舞效果动画
·模仿小小制作超级动感的火柴人
·Flash制作实现"雪花飘"效果
·用Flash2004制作幻灯片课件
·Flash制作超级简单的网页导航栏
·晨雾蒙蒙动画效果,Flash制作方法
·Flash实例制作教程:鼠标效果
·Flash实用编程四---下雪动画的制作
·FLASH+XML求职简历制作教程

    您现在的位置: Linux宝库 >> 网页设计 >> Flash >> 制作实例 >> 文章正文
Flash实现动态遮罩:图片渐出效果
Linux宝库 收集整理  作者:Linux宝库  时间:2007-12-31  收藏本站
来自:http://doc.linuxpk.com/53794.html
联系:linuxmine#gmail.com
分类:[制作实例]
  //as代码如下;被遮罩图片mc名称为img-mc;

  
//特点自动适应图片大小,自动判断子遮罩个数,可随意修改子遮照大小;

  //-------------------------------------------------------------------

  //

  Stage.showMenu = false;

  Stage.scaleMode = "noScale";

  fscommand(allowscale, true);

  createEmptyMovieClip("mask", -1);

  mask.createEmptyMovieClip("mask0", -2);

  with (mask.mask0) {

  beginFill(0xcccccc, 100);

  moveTo(0, 0);

  lineTo(0, 100);

  lineTo(100, 100);

  lineTo(100, 0);

  lineTo(0, 0);

  endFill();

  _width = 1;

  _height = 1;

  }

  //以上为创建mask元件和mask0子元件,这两个元件就是用于遮罩图片的。

  mask._x = img_mc._x=0;

  mask._y = img_mc._y=0;

  img_mc.setMask(mask);

  //以上为设置遮罩和遮罩层的位置;

  maskNum = 0;

  //初始化遮罩子元素的个数;

  box = 40;

  //初始化子遮罩正方形的边长;

  lNum = Math.ceil(img_mc._width/box)+1;

  //获得被遮罩图片的一行需要多少个子遮罩;

  cNum = Math.ceil(img_mc._height/box)+1;

  //获得被遮罩图片的一列需要多少个子遮罩;

  maxNum = lNum*cNum;

  //得到子遮罩元件的总数;

  var myArray = new Array();

  //定义数组;

  for (i=0; i<cNum; i++) {

  myArray[i] = [];

  for (j=0; j<lNum; j++) {

  myArray[i].push(i*lNum+j+1);

  //该两个循环生成一个二维数组用于存储子遮罩的行和列的编号。

  }

  }

  for (i=0; i<cNum; i++) {

  if (i%2 == 0) {

  myArray[i];

  } else {

  myArray[i] = myArray[i].sort(order);

  //当遇到奇数行的时候,倒排子遮罩的编号;该方法是为了让子遮罩从右到左产生;

  }

  for (j=0; j<lNum; j++) {

  with (mask) {

  masks = mask0.duplicateMovieClip("mask"+(myArray[i][j]), myArray[i][j]);

  //根据元件mask0复制出子遮罩,并将名称存入masks数组;

  masks._x = j*(box-1);

  //设置单个子遮罩的x和y坐标值,将其平铺在整个被遮罩图片上;

  masks._y = i*(box-1);

  //

  masks.xs = i;

  //设置自遮罩在二为数组myArray中的编号;

  masks.ys = j;

  masks._width = 0;

  //初始化子遮罩不可见;

  masks._height = 0;

  //

  masks.onEnterFrame = function() {

  if (_root.myArray[this.xs][this.ys] == _root.maskNum) {

  this.mcZoom();

  //执行子遮罩缩放动画;

  }

  };

  }

  }

  }

  _root.onEnterFrame = function() {

  if (maskNum<=maxNum) {

  _root.maskNum++;

  //递加子遮罩个数;

  }

  };

  function order(a, b) {

  //该函数用于降幂排序数组;

  if (a>b) {

  return -1;

  } else if (a<b) {

  return 1;

  } else {

  return 0;

  }

  }

  MovieClip.prototype.mcZoom = function() {

  //子遮罩动画部分;

  this.onEnterFrame = function() {

  this._width += (box-this._width)/10;

  this._height += (box-this._height)/10;

  };

  };

本文来自:http://doc.linuxpk.com/53794.html
 
     最新更新
·Flash8.0教程:动态模糊效果
·水滴效果动画,Flash制作中的AS问题
·Flash制作的一种凸放大镜效果
·电闪雷鸣、小雨纷飞的效果,Flash制作方法
·晨雾蒙蒙动画效果,Flash制作方法
·中秋寄相思自制Flash贺卡
·Flash初学者教程:第一个补间动画
·Flash初学者教程:形状补间动画
·Flash初学者教程:按钮制作
·中秋贺卡制作:月饼大游行
·Flash百叶窗制作教程
·FlashActionScript学习:把AS写在MC上
·精彩梦幻朝霞动画效果,Flash制作方法
·Flash制作烟花效果动画
·Flash实例简单教程:倒影文字
·Flash实例制作教程:鼠标效果
·Flash8.0打造流光型按钮-时间轴版
·关于倒计时程序的准确性解决方法
·Flash实例制作:形状变形来做花朵开放
·Flash制作闪电效果动画
·Flash制作逼真的电流效果动画
·Flash制作简单的音乐波形动画效果
·Flash制作带缓冲的滚动条
·Flash手把手做个悬浮标签
·Flash制作文字鼠标跟随
·百叶窗效果动画,Flash无AS的制作方法
·利用Flash制作一个可以自由拨动的时钟模具
·Flash时光隧道效果制作
·Flash教程:手把手教你学Flash初级教程
·简单实用的FLASH导航菜单制作