注册
 找回密码
 注册
江西广告网
查看: 297|回复: 0
打印 上一主题 下一主题

Flash MX 2004新特性实例学习三 (1)

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-2-5 11:12:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
实例四、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. [color=red'] [/url] [url=/news/news001/flash/200510/20051017080206_2.html] 实例四、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. [color=red'] [/url] [url=/news/news001/flash/200510/20051017080206_2.html]   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。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表