当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 2004新特性实例(4)

Flash动画制作
Flash新手入门教程:动画补间和形状补间
Flash新手入门教程:图形、按钮和影片剪辑元件
Flash新手入门教程:运用遮罩制作无脚本软翻书一
Flash新手入门教程:AS3代码第一课:下雪效果
Flash新手入门教程:形状补间制作摇曳的烛光
Flash新手入门教程:AS2代码制作拖动和碰撞侦测效果
Flash教程:打造搞笑诙谐的QQ表情动画
Flash教程:打造植物生长过程动画
Flash教程:AS制作随机绽放的美丽花朵
Flash初级教程:制作水滴滴落动画效果
flash教程:绘制一款png铅笔图标
Flash教程:用AS制作文字波动效果
Flash教程:AS制作复制美丽爱心效果
Flash手绘教程:教你画卡通澳大利亚夏日海滩
Flash8教程:如何控制flvs视频播放停止
Flash技巧:如何解决动画文件增大的方法
Flash教程:你知道这些常用命令吗?
用Swf2Gif将flash动画快速变成GIF格式
Flash新手入门教程:AS2代码制作弹出菜单
Flash技巧:如何在网页中直接播放MP3音乐

Flash动画制作 中的 Flash MX 2004新特性实例(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 77 ::
收藏到网摘: n/a

实例四、Device Font Masking

  一、涉及特性

  本实例主要涉及遮照效果的制作和Scroll Pane组件的利用,都是一些有趣的特性,跟之前在 MX中的制作思路有比较大的不同。初初一看,文本内容都在图库当中,但让人迷惑的是在场景中会显示文本的内容。这就涉及到Scroll Pane组件的属性了。

  二、制作过程

  1、按“Ctrl + F8”新建一个Clip,命名为“textClip”,类型为Movie Clip,选取“Export for Action Script”(这个就是文本内容不在场景中,但可以显示在场景中的秘密了),在Identifier中输入“textClip”。在此Clip的场景中用文本工具输入比较多的文本,以便在最后结果中可以明显地看到效果。

  2、按“Ctrl + F8”新建一个Clip,命名为“Frame”,类型为Movie Clip,用矩形工具绘制一个正方形边框。

  3、按“Ctrl + F8”新建一个Clip,命名为“mask”,类型为Movie Clip,用矩形工具绘制一个与第二步中的大小差不多的正方形边框,并用填充工具填充为黑色。

  4、按“Ctrl + F8”新建一个Clip,命名为“maskClip”,类型为Movie Clip,选取“Export for Action Script”,在Identifier中输入“maskClip”。

  5、在maskClip中,在Time Line中新建一个层,命名为“mask”,将图库中的Frame 拖到此层中,在属性面板上命名为“box”。在“mask”层上面再建一个层,命名为“frame”,将图库中的mask拖到此层,在属性面板上命名为“frame”。在“frame”层上面再建一个层,命名为“actions”,在它的action面板上添加下面的语句:   

  textClip.setMask(box); // 注释1   

  this.onEnterFrame = function () { // 注释2

   box._x = _root._xmouse - this._parent._x; // 注释3

   box._y = _root._ymouse - this._parent._y;

   frame._x = _root._xmouse - this._parent._x;

   frame._y = _root._ymouse - this._parent._y;

  }

  注释1:将在场景中的box Clip设置为textClip的遮照。从这里也可以看出,现在可以直接在Action Script中创建遮照了。

  注释2:设置函数,当进入此Movie Clip帧的时候,触发此函数。

  注释3:设置遮照用的box的位置跟随鼠标移动,frame的位置也跟随移动。

  6、回到主场景中,将两个Radio Button组件拖到场景中,将其中一个设置参数如下:命名为“rComponents”,data的值为“component”,“Group Name”为radioGroup,“label”为Masking with Components。将另一个设置如下:命名为“rGraphics”,data的值为“graphic”,“Group Name”为radioGroup,“label”为Masking with Graphics。

  7、将一个Scroll Pane组件拖到场景中,将其参数设置如下:命名为“spMasking”,contentPath为“textClip”,hLineScrollSize为5,hPageScrollSize为20,hScrollPolicy为auto。ScrollDarg为false,vLineScrollSize为5,vPageScrollSize为20,vScrollPolicy为auto。

  8、在Time Line中新建一个层,命名为“action”,在它的Action面板上增加下面的语句:   

  /* Copyright 2003 Macromedia, Inc. All rights reserved.

    

  The following is Sample Code and is subject to all restrictions

  on such code as contained in the End User License Agreement

  accompanying this product.

  */

  function switchExample (evt) { //注释1

   var choice = evt.target.selectedRadio.data; //注释2

   if (choice == "component") { //注释3

   spMasking.contentPath = "textClip"; //注释4

   spMasking.hScrollPolicy = "on"; //注释5

   spMasking.vScrollPolicy = "on";

   } else if (choice == "graphic") { //注释6

   spMasking.contentPath = "maskClip"; //注释7

   spMasking.hScrollPolicy = "off";

   spMasking.vScrollPolicy = "off";

   }

  }

  radioGroup.addEventListener("click", switchExample); //注释8

  rComponents.selected = true; //注释9

  来解释一下上面的代码:

      注释1: 定义一个函数,参数为evt。

    注释2: 定义一