江西广告网
标题:
用Flash制作神奇的弹性导航菜单(2)
[打印本页]
作者:
一壶乡愁
时间:
2009-3-1 14:27
标题:
用Flash制作神奇的弹性导航菜单(2)
ActionScript的编写
7、首先,因为我们要求导航的
按钮能够拖动
,所以先来设置按钮的AS,在元件ball1中点选
元件btl1
,给它加上如下代码 : on(press){ ||鼠标按下 startDrag(""); ||开始拖动 drag=true; } on(release, releaseOutside){ ||鼠标释放 stopDrag(); ||停止拖动 drag=flase; } 以上这段代码大家都很熟悉吧,然后复制这段代码,分别加给 ball2中bt2 和ball3中的bt3 ,因为是用来导航的按钮,所以可以给这三个按钮添加连接功能,比如这里bt3的Action设置为: on(press){ startDrag(""); drag=true; } on(release, releaseOutside){ stopDrag(); drag=false; } on (release) { getURL("mailto:你的邮箱地址"); } 这样就实现了当浏览者点击按钮后,调用系统默认的邮件程序给自己站长发电子邮件了。 8、按Ctrl E回到主场景,把刚开始作ball1 、ball2、ball3这三个MC从库中拖到主场景,分别命名其Instance Name(实例名称)为:h1、h2 、h3 ,把h1、h2 、h3 在主场景中排好位置,如图4所示:
登录/注册后可看大图
图4 9、最后使用Flash MX的
画线指令
把它们用线一一连接起来,在主场景中新建一层,命名为AS ,在第一帧加如下代码: _root.onEnterFrame = function() { clear(); ||清除以前的填充设置 _root.lineStyle(1.5, 0xcecece); ||定义画线的样式 _root.moveTo(_root.h1._x, _root.h1._y); ||把线的始端定在h1坐标处 _root.lineTo(_root.h2._x, _root.h2._y); ||从h1画一条线到h2 _root.lineTo(_root.h3._x, _root.h3._y); ||从h2画一条线到h3 _root.lineTo(_root.h1._x, _root.h1._y); ||从h3画一条线到h1 _root.endFill(); || 结束 Fill } 接着来设置h1、h2 、h3 的鼠标吸引及缓冲效果,点选主场景中的h1,给其加上如下代码: onClipEvent (load) { ||初始化变量 x = this._x; y = this._y; } onClipEvent (enterFrame) { ||实现鼠标的吸引效果以及MC(h1)的缓冲效果 dis_x = _root._xmouse - x; dis_y = _root._ymouse - y; if(!drag){ if ((dis_x * dis_x) (dis_y * dis_y) < 1500) { ||判断鼠标和MC的距离 newvar_x = _root._xmouse; ||把_root._xmouse 、_root._ymouse赋给 newvar_y = _root._ymouse; ||两个新变量newvar_x 、newvar_y ,此时还没有 } else { ||与MC相联系。 target_x = x; target_y = y; } ||设置缓冲效果,可以更改一下具体的参数,体会体会缓冲的效果 xspeed = ((target_x - this._x)*.8) (xspeed*.65); this._x = xspeed; yspeed = ((target_y - this._y)*.8) (yspeed*.65); this._y = yspeed; } } 然后复制上面的代码,分别给 h2 、h3设置。以上鼠标吸引及缓冲效果的代码还隐藏这样的一个效果,即MC只要偏离原来的坐标就会自动回位。这样,只要隔一段时间就改变MC的位置,则可以实现MC 的" 痉挛抽动 "的效果。
欢迎光临 江西广告网 (http://bbs.jxadw.com/)
Powered by Discuz! X3.2