动感星形遮罩-通过遮罩的形状改变而实现的图片…

2008-04-02 10:45:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  这个做起来就比较简单,我们只需要做的是把两个图片放在不同的图层,然后,上面的图片做一遮罩层,遮罩层最终能覆盖上面整个图片.图像转换完成了.

  这个比较简单,我们只要三个图层就能解决问题.

  两层图像,上面再加一个遮罩上面图像(就是转换后的图像)的遮罩层.

  具体做法如下:

  1.新建一FLASH文档.创建三个图层.

  2.导入两个图片(最好大小相同),分别放在下面的两个图层.让上面图片刚好能覆盖下面的图片.

  3.在第三层里画一小正方形,转换为元件MC,命名为MASKFIELD,实例名相同.

  4.双击MASKFIELD,进入编辑状态,让元件的原点跟正方形的左上顶点重合.

  5.把正方形转为MC,命名为MASK,实例名相同.

  6.双击MASK,进入编辑状态,让元件的原点跟正方形的左上顶点重合.

  7.在正方形所在图层的第十五帧(帧数能够自己把握)插入一关键帧.然后,对第一帧的正方形进行一些变形(这能够发挥您们的创意和想象力,但是对初学者来说,建议该帧的图像不要完全盖住原来的正方形,否则可能会看不到效果.

  8.在第一帧和第十五帧之间创建形状补间动画.在第十五帧添加AS:stop();

  9.回到主场景,把MASKFIELD所在的图层设为遮罩层.

  10.测试影片,现在能够看到下面图像有一部分被转换成上面的图象了.所以,下一步,就是要复制多个MASK,以实现整个图像最终被转换的效果.

  11.关闭测试窗口,继续做.

  12.我们看到,正方形出现的先后顺序没什么规律,这是因为笔者用了随机函数.所以,再插入一图层,写定义随机变量的代码.又因为这是个二维空间,所以最好定义二维数组.

  13.假设正方形的边长为25,图像为400*300,则加代码:

  
varmaxhor=400/25

  varmaxver=300/25

  //这里没采用变量,是防止形变过程影响宽度和高度.

  varorder=newArray();

  for(varhor=0;hor<=maxhor-1;hor ){

  order[hor]=newArray();

  for(varver=0;ver<=maxver-1;ver ){

  order[hor][ver]=maxver*hor ver

  }

  }//首先对每个方格配置一个索引,用他来控制出场顺序.

  //但是该出场顺序是从上到下,从左到右有序出来的,所以要再定义一个随机数组.

  for(varhor=0;hor<=maxhor-1;hor ){

  for(varver=0;ver<=maxver-1;ver ){

  tempvalue=order[hor][ver]

  randhor=random(maxhor)

  randver=random(maxver)

  order[hor][ver]=order[randhor][randver]

  order[randhor][randver]=tempvalue

  }

  }

  //这是常用的产生随机数组的算法,是一套相对固定的模式.至于打乱顺序的原理如何,自己测试一下就能够体会出来.

  //下面定义一个控制出场的最终数组INDEX,利用前面的随机数组来生成.

  varindex=newArray()

  for(varhor=0;hor<=maxhor-1;hor ){

  for(varver=0;ver<=maxver-1;ver ){

  index[order[hor][ver]]=hor "_" ver

  }

  }


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FlashMX2004新功能:行为

下一篇: 水滴效果动画,Flash制作中的AS问题