> flash > 杂乱整理Flash遮罩效果搜集整理
作者: 来源: 日期:2009/9/22 16:15:06 人气:
标签:
[源文件]
第一步:选中问题1的遮罩层,右键选择“遮罩层”,去掉前面的勾,此时取消了遮罩;选中圆,右键选择“转换为元件”,在弹出的对话框中选择“影片剪辑”,在主场景中给它个实例名mask_mc。 _mc.setMask(mask_mc);//设置_mc被mask_mc遮罩
mask_mc.onEnterFrame = function() { //mask_mc在运行每一帧时执行函数 this._x = _xmouse; this._y = _ymouse; //mask_mc的坐标等于鼠标的坐标 }; [源文件]
_mc.setMask(mask_mc);
var speed:Number = 5;//申明变量 mask_mc.onEnterFrame = function() { this._x += (_xmouse-this._x)/speed;//让遮罩层缓冲运动 this._y += (_ymouse-this._y)/speed; }; [源文件]
第四步:选中“边线”,选择“修改”→“形状”→“将线条转换为填充”;把帧延长到第40帧处。(此步是关键,不能用线条作遮罩层,应转换为填充)具体设置见图2: 第五步:创建图形元件,在该元件编辑场景中画一个矩形,从上到下进行线形渐变,具体设置见图3;把该元件从库中拉入到主场景中“矩形”图层上的第一帧上,其位置在文字的上方;在第40帧处插入关键帧,把该元件的位置移到文字的下方;在第1帧和第40帧处右键选择“创建补间动画”。 第六步:选中“边框”图层,右键选择“遮罩层”。 [源文件]
第一步:创建两个图层,从上到下名称分别是“遮罩”、“渐变”。 [源文件]
tp_mc.setMask(mask_mc)
[源文件] 7、我用静态文字作遮罩层或作为被遮罩时怎么没有效果? 方法①将文字连按两次Ctrl+B,把文字打散。 8、动态文本设置被遮罩怎么没有效果? 方法①把动态文本转换为影片元件,实例名为wz_mc,创建遮罩影片元件,实例名为mask_mc;然后在帧上写代码:wz_mc.setMask(mask_mc) [效果]
[效果]
[要点] 第三步:在主场景中创建两个图层,从上到下名称分别为“遮罩”、“背景”;把“运动的圆”拖入到主场景中的“遮罩”图层上;在“背景”图层上导入一张图片;选中“遮罩”图层,右键选择“遮罩层”。 10、一般右键选择设置“遮罩层”时只能遮罩一个图层,那多个图层怎么做? 方法①把没有被遮罩的图层拖入到已经被遮罩和遮罩层之间,再调整图层顺序。 11、空心圆做遮罩怎么中间的空白处也作了遮罩? [效果]
12、放大镜是如何应用遮罩的?
Mouse.hide();//鼠标隐藏
var speed:Number = 4;//申明变量 dt_mc.duplicateMovieClip("fdt_mc", 0);//复制底图为放大图 fdt_mc._xscale = fdt_mc._yscale=150;//放大图放大 fdt_mc.setMask(mask_mc);//设置放大图被遮罩元件遮罩 fdt_mc.swapDepths(fdj_mc);//把放大镜放在最上层 mask_mc.onEnterFrame = function() { fdt_mc._x = -this._x*0.5;//设置放大图的坐标随遮罩层的变化而变化 fdt_mc._y = -this._y*0.5; fdj_mc._x = this._x += (_xmouse-this._x)/speed;//让遮罩层和放大镜坐标重合且缓冲运动 fdj_mc._y = this._y += (_ymouse-this._y)/speed; updateAfterEvent();//更新舞台 }; [源文件] 13、我想鼠标点击时遮罩层出现并拖动,再次点击时消失怎么做?
在第12问的第四步代码中作如下改动: Mouse.hide();
dt_mc.duplicateMovieClip("fdt_mc", 1); fdt_mc._xscale = fdt_mc._yscale=150; fdt_mc.setMask(mask_mc); fdt_mc.swapDepths(fdj_mc); mask_mc._visible = fdj_mc._visible=fdt_mc._visible=0; mask_mc.onEnterFrame = function() { fdt_mc._x = -this._x*0.5; fdt_mc._y = -this._y*0.5; fdj_mc._x = this._x += (_xmouse-this._x)/4; fdj_mc._y = this._y += (_ymouse-this._y)/4; updateAfterEvent(); }; onMouseDown = function () { this.id = !this.id; if (this.id) { mask_mc._visible = fdj_mc._visible=fdt_mc._visible=1; } if (!this.id) { mask_mc._visible = fdj_mc._visible=fdt_mc._visible=0; } }; 14、导入外部的影片(如文件名1.swf)或图片(如文件名1.jpg),怎样设置遮罩? var my_mcl:MovieClip = createEmptyMovieClip("my_mcl", getNextHighestDepth());
var mcloader:MovieClipLoader = new MovieClipLoader(); mcloader.addListener(this); mcloader.loadClip("1.jpg", my_mcl); mask_mc._visible = 0; this.setMask(mask_mc); 第三步:保存,并在该文件所在的文件夹内放一张图片,名称为1.jpg |
|