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

Flash变速滑动菜单剖析(2)

[复制链接]

该用户从未签到

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

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

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

x
实例实践:   上面我们已经掌握了本例的基本实现思路。下面,我们就按着我们的思路,来一步一步地去实现这个菜单。   step1:首先,我们需要制作我们所需要的元素。4个bTN,以及一个MC,把你所需要的栏目,做成BTN,然后制作一个跟随移动的MC。   方法:点击菜单 插入(insert)>>新建元件(new symbol) 在名称(name)上填写名称btn_home。(起名字最好要有个规则,不然如果元件多了,看起来会很乱)   (快捷键Ctrl F8)确认行为选择为按钮。   点击确认以后,便会进到这个元件的编辑界面。我们会看到这里面的编辑方式不一和主场景不一样,只有四个帧,这是因为这个元件的行为是按钮的原因。这四个帧分别为:up(弹起)、over(指针经过)、down(按下)、activ(点击)。分别代表鼠标不在按钮上,鼠标经过按钮(或者在按钮上停留时),鼠标点击时,最后一个是响应鼠标的区域。如果最后一层没有的话,就会以最上面一层的up(弹起)为活动区域。   我们在图层1的up帧用文本工具写入HOME,这里颜色为#146270。然后在down(按下)帧,点鼠标右键,选择插入帧(insert frame)。这是为了保证在任何时候都显示home这几个文字。在属性面板中设置X和Y都为0;然后在新建一图层,将图层2拉到图层1下面,用矩形工具在图层2上画一个长方形。在属性面板设置宽为80,高为20,X和Y都为0;设置填充色为#56CCE0,无边框。然后在鼠标经过(OVER)上点鼠标右键选择插入关键帧(insert key frame)。将填充色改为#8ADCEA,然后在最后一帧上,即点击(activ)帧点鼠标右键,选择插入帧(这样是为了让我们的鼠标活动范围增大)。按照此方法,继续制作其它栏目的BTN,只有文字不同,其它地方方法一样。你也可以在库面板(窗口>>库,快捷键Ctrl L、F11),选择建立的元件名,这里是btn_home,然后右击,选择复制,起一个新的好记的名称,然后再双击进入复制好的元件里,对文字进行编辑。把文字改为各个栏目的名称。   将四个按钮制作完以后,再新建一个元件,名字为follow,行为为影片剪辑,同样用矩形工具画一个长方形,然后对它用渐变进行填充。高:6,宽:80,X:0,Y:0。   step2:回到主场景,打开库面板,将我们的组件拉到主场景来,对它们的位置进行排列。   把主场景的大小设为400X40,帧数为25帧,背景色为#006699。把四个按钮拉进主场景,将它们的Y坐标都设为20,X坐标分别为:40,122,204,286(这里可以自由设定)。为了直观,将该层改名为btns。   新建一层,将follow影片也拉到主场景,X:40;Y:7,将该层改名为follow。   给每个按钮、影片起实例名:先看一下下面的图片   为home、about、news、links分别起实例名为btn_home,btn_about,btn_news、btn_links。给上面的跟随移动的MC,起名为follow。   注意:这里的实例名和在库中的元件名是两回事。库中的元件名是为了我们能够在编辑的时候,可以很好的区分它们。不在同目录下的元件是可以重名的。而场景中的实例名,则是为了让我们在使用编写as程序的时候,利用实例名来分辨他们。   再新建一层,起名为as,在下面键入如下代码。(附注释) //这个符号是FLASH中的注释符 //设置两个变量,startX,endX,用来保存follow的运动起始点和结束点。即当前的followX坐标与我们所移动到的BTN的X坐标。这里仅起到初始化的作用。 startX = follow._x; endX = 40; //当鼠标移动到不同的按钮上时,follow的结束点X坐标是不同的。以下的语句是用来判断鼠标移动到哪一个按钮上了。 btn_home.onRollOver = function() { //设置当鼠标移动到不同的按钮上时,结束点的X坐标为当前鼠标所移动到的按钮的X坐标 endX = this._x; }; btn_about.onRollOver = function() { endX = this._x; }; btn_news.onRollOver = function() { endX = this._x; }; btn_links.onRollOver = function() { endX = this._x; }; //这里的onEnterFrame是为了保证实时运行,即当播放到这一帧时,便持续播放。 follow.onEnterFrame = function() { //因为follow的X坐标是实时在变化的,因此,我们需要每次都取得它的X坐
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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