本教程是介绍使用Flash AS3.0创建一个漂亮的水GIF动画效果。教程很好,讲解很详细。值得学习。喜欢的朋友可以过来学习一下!
在Flash AS3.0的这个示例课程中,我们将使用BitmapData类的DisplacementMapFilter和perlinNoise。这两个家伙经常给我们带来一些激动人心的效果。他们的合作为大家创造了一道亮丽的风景线。看下面的动画,应该不错。
现在让我们建立这个美丽的水图案:
既然是水的图案,我想先找一张包含水的图片,比如河流,湖泊,水池,如果你喜欢的话。
1.新建一个AS3.0文档,设置帧率为30,将图片导入到库中,右键,去掉属性面板中“用JPEG导入画质”前的勾,这样图片的大小会大大缩小。
2.创建一个新的电影编辑组件,将图片拖到舞台上,并设置图片的大小。你想把它设置成多大?反正我按默认的550x400。这张图片和文件一样大。单击“对齐”面板,使对齐相对于舞台居中。
3.返回主场景,将MC拖到舞台上,将其放在中央,并为其设置一个实例名称。我使用pic层来锁定它。
4.插入新图层,将图片(注意图片不是MC)拖到舞台上,打开对齐面板,匹配宽度和高度,居中对齐。现在一楼和二楼的图像完全重合,请确认是这样的。选中图片,点击修改分离,选中并删除水面部分。可以隐藏第一层,看到删除后的效果。
:
5.创建一个新层来编写代码,打开动作面板并输入以下代码:
复制代码
代码如下:
1.var BMP:BitmapData=new BitmapData(550,400);
2.var zh:DisplacementMapFilter=new DisplacementMapFilter(BMP,new Point(0,0),1,2,10,600);
3.var P1:Point=new Point();
4.var p2:Point=new Point();
5.var zdxg:Array=[p1,p2];
6.addEventListener(事件。ENTER_FRAME,LD);
7.函数ld(e:Event):void {
8.zdxg[0]。x=0.2
9.zdxg[1]。y=0.1
10.bmp.perlinNoise(168,5,2,4,true,true,2,true,zdxg);
11.pic . filters=[zh];
12.}
好了,测试一下片子,一个漂亮的水效果马上出现在你眼前。
代码分析:
首先,将BitmapData类bmp的一个实例声明为置换图过滤器的一个参数,该实例有一个图片那么大。
var BMP:BitmapData=new BitmapData(550,400);
然后声明一个置换图过滤器zh,以bmp为参数。
var zh:DisplacementMapFilter=new DisplacementMapFilter(BMP,new Point(0,0),1,2,10,600);
接下来,声明两个点并放入一个名为zdxg的数组中,该数组将用于bmp生成其他点的参数。
var P1:Point=new Point();
var p2:Point=new Point();
var zdxg:Array=[p1,p2];
然后,在ENTER_FRAME事件中调用ld函数。
addEventListener(事件。ENTER_FRAME,LD);
Ld函数,动态改变两点的位置,然后让bmp应用杂波函数在每一帧的间隔产生不同的杂波效果,从而改变替换滤镜的效果。最后,它使电影剪辑图片和应用过滤器,以实现水的效果。
函数ld(e:Event):void {
zdxg[0]。x=0.2
zdxg[1]。y=0.1
bmp.perlinNoise(168,5,2,4,true,true,2,true,zdxg);
pic . filters=[zh];
}
以上是Flash AS3.0创建漂亮的水纹GIF动画效果的过程,希望大家喜欢!