loading请求处理中...

【教程】Flash制作动画基础の遮罩知识详解(二)

2021-12-01 11:38:54 阅读 10464次 标签: flash广告设计flash游戏开发 作者: 陈友达

七、我用静态文字作遮罩层或作为被遮罩时怎么没有效果? 

  • 方法①将文字连按两次Ctrl+B,把文字打散。 
  • 方法②更改该文字的属性,不采用“使用设备字体”。 
  • 方法③把文字转换为影片元件,实例名为wz_mc;把遮罩转换为影片元件,实例名为mask_mc;在帧上写代码wz_mc.setMask(mask_mc) 


八、Flash动态文本设置被遮罩怎么没有效果? 

  • 方法①把动态文本转换为影片元件,实例名为wz_mc,创建遮罩影片元件,实例名为mask_mc;然后在帧上写代码:wz_mc.setMask(mask_mc) 
  • 方法②选择嵌入,在弹出的对话框中出现的“包含这些字符”里输入动态文本中要显示的文字。(但这种方法会使文件体积变大) 


九、怎样让遮罩层沿着引导层上的任意路径运动?

    [要点] 把遮罩先做成沿引导层上路径运动的影片剪辑,再把该影片剪辑设为遮罩层 

[步骤] 

  • 第一步:创建图形元件,名称为“圆”,画一个圆。 
  • 第二步:创建影片剪辑元件,名称为“运动的圆”,把图形元件“圆”拖入;让圆沿引导层上的曲线运动起来。如图9:
  • 第三步:在主场景中创建两个图层,从上到下名称分别为“遮罩”、“背景”;把“运动的圆”拖入到主场景中的“遮罩”图层上;在“背景”图层上导入一张图片;选中“遮罩”图层,右键选择“遮罩层”。


十、一般右键选择设置“遮罩层”时只能遮罩一个图层,那多个图层怎么做? 

  • 方法①把没有被遮罩的图层拖入到已经被遮罩和遮罩层之间,再调整图层顺序。 
  • 方法②用鼠标按住没有被遮罩的图层不放,然后往上推,当出现灰色的虚线时释放鼠标即可。如图10:


十一、空心圆做遮罩怎么中间的空白处也作了遮罩? 

    [方法]把空心圆不能做成影片剪辑元件,但可以是图形元件。 


十二、放大镜是如何应用遮罩的? 

  • 第一步:创建四个图层,从上到下名称依次是“动作”、“放大镜”、“遮罩”、“底图”。 
  • 第二步:创建影片剪辑元件,名称为“底图”,导入一张图;把该元件拖入到主场景中的“底图”图层上,实例名为dt_mc。 
  • 第三步:创建影片剪辑元件,名称为“遮罩”,画一个圆,填充类型为放射状,中间透明,四周不透明;把该元件拖入到主场景中的“遮罩”图层上,实例名为mask_mc。再拖一个到“放大镜”图层上,实例名为fdj_mc。 
  • 第四步:在“动作”图层的第一帧上写如下代码:

  1. Mouse.hide();//鼠标隐藏 
  2. var speed:Number = 4;//申明变量 
  3. dt_mc.duplicateMovieClip("fdt_mc", 0);//复制底图为放大图 
  4. fdt_mc._xscale = fdt_mc._yscale=150;//放大图放大 
  5. fdt_mc.setMask(mask_mc);//设置放大图被遮罩元件遮罩 
  6. fdt_mc.swapDepths(fdj_mc);//把放大镜放在最上层 
  7. mask_mc.onEnterFrame = function() { 
  8. fdt_mc._x = -this._x*0.5;//设置放大图的坐标随遮罩层的变化而变化 
  9. fdt_mc._y = -this._y*0.5; 
  10. fdj_mc._x = this._x += (_xmouse-this._x)/speed;//让遮罩层和放大镜坐标重合且缓冲运动 
  11. fdj_mc._y = this._y += (_ymouse-this._y)/speed; 
  12. updateAfterEvent();//更新舞台 
  13. }; 


十三、我想鼠标点击时遮罩层出现并拖动,再次点击时消失怎么做? 

    在第12问的第四步代码中作如下改动: 

  1. Mouse.hide(); 
  2. dt_mc.duplicateMovieClip("fdt_mc", 1); 
  3. fdt_mc._xscale = fdt_mc._yscale=150; 
  4. fdt_mc.setMask(mask_mc); 
  5. fdt_mc.swapDepths(fdj_mc); 
  6. mask_mc._visible = fdj_mc._visible=fdt_mc._visible=0; 
  7. mask_mc.onEnterFrame = function() { 
  8. fdt_mc._x = -this._x*0.5; 
  9. fdt_mc._y = -this._y*0.5; 
  10. fdj_mc._x = this._x += (_xmouse-this._x)/4; 
  11. fdj_mc._y = this._y += (_ymouse-this._y)/4; 
  12. updateAfterEvent(); 
  13. }; 
  14. onMouseDown = function () { 
  15. this.id = !this.id; 
  16. if (this.id) { 
  17. mask_mc._visible = fdj_mc._visible=fdt_mc._visible=1; 

  18. if (!this.id) { 
  19. mask_mc._visible = fdj_mc._visible=fdt_mc._visible=0; 

  20. };


14、Flash导入外部的影片(如文件名1.swf)或图片(如文件名1.jpg?http://www.xvna.com),怎样设置遮罩? 

  • 第一步:创建影片剪辑元件,画一个你要的遮罩形状;把该元件拖入到主场景中,实例名取mask_mc。 
  • 第二步:在帧上写代码:

  1. var my_mcl:MovieClip = createEmptyMovieClip("my_mcl", getNextHighestDepth()); 
  2. var mcloader:MovieClipLoader = new MovieClipLoader(); 
  3. mcloader.addListener(this); 
  4. mcloader.loadClip("1.jpg?http://www.xvna.com", my_mcl); 
  5. mask_mc._visible = 0; 
  6. this.setMask(mask_mc); 

  • 第三步:保存,并在该文件所在的文件夹内放一张图片,名称为1.jpg
    如果导入的是外部影片,则把"1.jpg"改为"1.swf",当然,外部影片的名称为1.swf 

【教程】Flash制作动画基础の遮罩知识详解(二)

FLASH制作公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
FLASH制作相关任务
DESIGN TASK 更多
C++游戏盒子样式框架开发

¥1000 已有0人投标

游戏app开发(广东,浙江优先)

¥10000 已有0人投标

H5小游戏开发

¥10000 已有3人投标

小游戏开发类的软件开发

¥20000 已有5人投标

宠物AI互动游戏开发

¥50000 已有2人投标

开发H5游戏

¥3000 已有1人投标

微信小游戏开发

¥10000 已有1人投标