当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 用Flash制作神奇的弹性导航菜单(2)

Flash动画制作
FLASH 初级教程:蝶恋花
Flash8制作会跳舞的星星视觉特效
Flash8制作不断上升的透明泡泡动画
Flash8制作精彩高级动态网页图片菜单
Flash动画中使字体清晰的三种方法
用Flash制作动态放大镜画面效果
FLASH 8 瀑布动画制作方法
Flash打造碧海蓝天
吕聪贤SWiSHmax入门到精通视频教程
常见的loading条制作方法
Flash教程:无AS制作—飘落的红叶
使用html为flash页面添加音乐
入门:巧妙去掉网页中Flash的右键菜单
如何成为一个合格的或者优秀的Flash制作者
Flash制作动漫中常用的眨眼效果动画
用Flash制作螺旋发散特效动画
Flash 8 利用滤镜制作漂亮动画效果
FLASH简单制作探照灯效果
Flash遮罩: 轮辐旋转图文教程
Flash CS3 组件开发教程

Flash动画制作 中的 用Flash制作神奇的弹性导航菜单(2)


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

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、最后使用 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 的" 痉挛抽动 "的效果。