分类分类
关注+2011-05-09作者:不详
11、空心圆做遮罩怎么中间的空白处也作了遮罩?
[效果]
[方法]把空心圆不能做成影片剪辑元件,但可以是图形元件。
12、放大镜是如何应用遮罩的?
[效果]
第一步:创建四个图层,从上到下名称依次是“动作”、“放大镜”、“遮罩”、“底图”。
第二步:创建影片剪辑元件,名称为“底图”,导入一张图;把该元件拖入到主场景中的“底图”图层上,实例名为dt_mc。
第三步:创建影片剪辑元件,名称为“遮罩”,画一个圆,填充类型为放射状,中间透明,四周不透明;把该元件拖入到主场景中的“遮罩”图层上,实例名为mask_mc。再拖一个到“放大镜”图层上,实例名为fdj_mc。
第四步:在“动作”图层的第一帧上写如下代码:
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),怎样设置遮罩?
第一步:创建影片剪辑元件,画一个你要的遮罩形状;把该元件拖入到主场景中,实例名取mask_mc。
第二步:在帧上写代码:
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
如果导入的是外部影片,则把"1.jpg"改为"1.swf",当然,外部影片的名称为1.swf
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论