论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

动感星形遮罩-通过遮罩的外形改变而实现的图片切换

文章类别:Flash | 发表日期:2008-9-21 19:42:12

  这个做起来就比较简单,我们只需要做的是把两个图片放在不同的图层,然后,上面的图片做一遮罩层,遮罩层最终能覆盖上面整个图片.图像切换完成了.
这个比较简单,我们只要三个图层就能解决问题.
两层图像,上面再加一个遮罩上面图形(就是切换后的图形)的遮罩层.
效果实例:

具体做法如下:
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,则加代码:
var?maxhor=400/25
var?maxver=300/25
//这里没采用变量,是防止形变过程影响宽度和高度.
var?order=new?Array();
for(var?hor=0;hor<=maxhor-1;hor++){
??order[hor]=new?Array();
??for(var?ver?=0;ver<=maxver-1;ver++){
????order[hor][ver]=maxver*hor+ver
???}
}//首先对每个方格设置一个索引,用它来控制出场顺序.
//但是该出场顺序是从上到下,从左到右有序出来的,所以要再定义一个随机数组.
for(var?hor=0;hor<=maxhor-1;hor++){
?for(var?ver=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,利用前面的随机数组来生成.
var?index=new?Array()
for(var?hor=0;hor<=maxhor-1;hor++){
?for(var?ver=0;ver<=maxver-1;ver++){
????????index[order[hor][ver]]=hor+"_"+ver
??
?}
}
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058