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

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 66 ::
收藏到网摘: 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 的" 痉挛抽动 "的效果。