快速业务通道

用Flash制作神奇的弹性导航菜单

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14
一一连接起来,在主场景中新建一层,命名为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 的" 痉挛抽动 "的效果。


  10、接下来将用简单的脚本来实现h1、h2 、h3的" 痉挛抽动"效果,点选主场景第一帧,添加如下代码:

  _root.onEnterFrame = function() {
    clear();
    _root.lineStyle(1.5, 0xcecece);
    _root.moveTo(_root.h1._x, _root.h1._y);
    _root.lineTo(_root.h2._x, _root.h2._y);
    _root.lineTo(_root.h3._x, _root.h3._y);
    _root.lineTo(_root.h1._x, _root.h1._y);
    _root.endFill();
  }

  后面加上如下脚本:

  setInterval(myball1, 6000);
  function myball1() {
    if (_root.h1.hitTest(_root._xmouse, _root._ymouse, false)) {
      _root.h1._x = _root._xmouse;
      _root.h1._y = _root._ymouse;
    } else {
      _root.h1._x += 70-random(150);  ||设置MC的随机坐标
      _root.h1._y += 50-random(150);
    }
  }
  setInterval(myball2, 5000);
  function myball2() {
    if (_root.h2.hitTest(_root._xmouse, _root._ymouse, false)) {
      _root.h2._x = _root._xmouse;
      _root.h2._y = _root._ymouse;
    } else {
      _root.h2._x += 70-random(140);
      _root.h2._y += 60-random(150);
    }
  }
  setInterval(myball3, 4000);
  function myball3() {
    if (_root.h3.hitTest(_root._xmouse, _root._ymouse, false)) {
      _root.h3._x = _root._xmouse;
      _root.h3._y= _root._ymouse;
    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号