关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>图像设计>>FLASH>>正文|动态MC按钮的制作教程

动态MC按钮的制作教程

[ 来路:闪客帝国      时间:2007-7-10 3:28:20    点击: ]

 

  写个MC按钮的教程,实在不登大雅之堂~目的:帮助需要这方面知识,而不得其要的同行爱好者~
MX以后版本已经提供了组件,没有必要这样麻烦做这种按钮,不过,我们的目的是为了学习。

  本教程主要运用了flash的onClipEvent事件触发器~以及hitTest方法~color对象和智能剪辑~

  1. 创建两个MC

  第一个MC为动态文本(label),,设置如图A

  文字居中是为了让按钮文字看起来更美观
变量加了两个_parent关键字,在创建智能剪辑就可以省去为动态文本再赋值的麻烦
其它选项只是个人喜好~各位大可自行设置(不建议选中html选项)~

  创建第二个MC(group)

  有2帧,第一帧为按钮平时状态。第二帧为按钮按下状态..
分别在每帧的相同位置上画一个圆角的,长和高相同的长方体。并填充不同的颜色用以区分~
然后再新建一个层,将刚才创建的动态文本MC拖入这个层中。并起一个实例名为label;
再创建一个层,再拖动态文本MC到层中,与label相同叠。并起实例名为shadow。
这样,一共有3个层,其中2个层是放同一个动态文本MC,这2个层只有延长帧。另一个层有2个关键帧。图B

  2.创建一个button_sc,将group MC拖到时间轴上。

  3.在库中点选button_sc,点击鼠标右键(图C),

  然后选择菜单中的自定义组件选项。在对话框中连按两次"+"符号。加入两个参数,分别为:loic,label。其中,loic的类型为list(flash MX之后有boolean)。双击loic所对应的值这一项,填入"true""false"2项。然后确定。label取默认值就可以了。设置好后确定。(图E和图F)

  4.返回button_sc的编辑场景,选中按钮MC,写入下面语句:

  onClipEvent (load) {//影片加载后对需要用到的变量进行初始化,影片加载一次初始化一次. stop ();//group影片停止在第一帧. check = false; //判断鼠标左键是否按下用,初始化为假,即鼠标没有按下. _root.all_perss_check = true; //用以记录是否有按钮被按下.初始化为真.即没有按钮被按下. Label_x = label._x;//记录动态文本label的坐标. Label_y = label._y;}onClipEvent (mouseDown) {//鼠标按下事件.每点按下一次执行一次 if (hitTest(_root._xmouse, _root._ymouse, false)) { //判断鼠标是否跟按钮重叠, //在flash帮助(按F1)里详细说明, //注意,鼠标必须也按钮重叠时按下才能执行下面的语句. check = true;//鼠标已经按下. _root.all_perss_check = false;//已经有按钮被按下了.所以为假. }}onClipEvent (enterFrame) {//每秒都执行的事件(执行次数为帧频数) if(_parent.loic == "true"){ //判断loic(用以判断按钮是否被禁用,默认为"true"即没有被禁用)变量的值. //如果值等于字符串true则执行下面语句,注意,在flash MX中不需要带双引号,否则不能执行. if(hitTest(_root._xmouse,_root._ymouse,false) && _root.all_perss_check){ //判断,如果鼠标与按钮重叠,并且没有别的按钮被按下 LabelColor = new Color(label); //为动态文本框构造一个颜色容器 LabelColor.setRGB(0x0000FF); //设置文字变色.这一段的实现效果是,鼠标划过按钮.文字变色. }else{//否则.即鼠标没有与按钮重叠 LabelColor = new Color(label); LabelColor.setRGB(0x000000);//将文字颜色还原为黑色. } if (hitTest(_root._xmouse, _root._ymouse, false) && check){ //鼠标与按钮重叠,并且在按钮上按下了左键. label._x = Label_x + 1;//文字坐标移动1个象素.让文字有被按下的感觉 label._y = Label_y + 1; nextFrame ();//group MC跳到下一帧. } else {//鼠标没有与按钮重叠,或者没有在按钮上按下左键. label._x = Label_x;//文字坐标还原. label._y = Label_y; shadowcolor = new Color(shadow); shadowcolor.setRGB(0xECE9D8); //将实例名为shadow的动态文本框的颜色设置为按钮色(即第二帧所填的颜色) prevFrame ();//group MC跳到上一帧 }}else{//按钮被禁用了,这段语句用于创建一个阴影效果 labelcolor = new Color(label); labelcolor.setRGB(0xACA899); shadow._x = Label_x + 1; shadow._y = Label_y + 1; shadowcolor = new Color(shadow); shadowcolor.setRGB(0xFFFFFF); }}onClipEvent (mouseUp) {//鼠标左键松开(按下->松开)时执行 check = false;//鼠标没有被按下. _root.all_perss_check = true;//没有按钮被按下.}

  到这里,按钮已经可以工作了.但还不行.想使用按钮,必须加进代码.
将智能剪辑拖到场景中.设置好参数(记得不要设为禁用)否则不起作用的.然后选中按钮.写入下面语句

  onClipEvent (load) { Onperss = false;}onClipEvent (mouseDown) { if (hitTest(_root._xmouse, _root._ymouse, true)) { Onperss = true; }}onClipEvent (mouseUp) { if (hitTest(_root._xmouse, _root._ymouse, true) && Onperss && loic == "true") {//同样,如果是在flash MX中,不要带双引号. //要执行的代码就写在这里. //不过要注意.因为是写在MC上面,所以一定记要带上_root(或者_parent)来指定对象 getURL("http://www.webjx.com"); } else { Onperss = false; }}

  
如果想给按钮加上声音,可以加下面代码

  onClipEvent (load) { souCheck = false;}onClipEvent (mouseMove) { if (hitTest(_root._xmouse,_root._ymouse,true)) { if (!souCheck && _root.all_perss_check) { mysound = new Sound(); mysound.attachSound("buttonsound" + [Math.floor(Math.random() * 10)]); mysound.start(0,1); souCheck = true; } }else{ souCheck = false; }}

  需要注意的是,

  mysound.attachSound("buttonsound" + [Math.floor(Math.random () * 10)]);

  随机绑定库中10种声音的一种(必须在库中给声音作链接标识符才能有效).

  作品预览

  源文件中还有一个swf文件,是另一种按钮,做法基本一样.有兴趣的朋友可以想想.

  源文件下载

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:精彩动态导航菜单制作详解  下一篇:用FLASH制作变幻的曲线

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

Photoshop 轻松打造神秘银河系

::网页制作::

 

初学:什么是DIV+CSS?有什么
网页制作实例CSS用一张图片实
用CSS控制图片自适应大小的方
小技巧:CSS列表标签出现问题
CSS网页设计中使用背景图片须
想让DIV居中,如何编写CSS的
总结两年以来使用DIV网页排版
DIV CSS技巧:对CSS命名的一
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号