• 奇爱公告:
  • 设为首页
  • |
  • 收藏本站
  • |
  • RSS阅读
  • |
  • 网站地图
  • |
  • 站内搜索
  • 奇爱素材网

  • 首页 酷站 PNG 矢量 GIF 笔刷 背景 PSD 欣赏 代码 FLA 教程 图库 书店
  • 您现在的位置: 奇爱素材网 >> 设计教程 >> 网页设计 >> Flash >> 正文 |
  • Flash AS实现的一个水波效果动画

    作者:25swf 素材来源:闪吧 点击数: 更新时间:2007-6-14 21:47:24

    主要使用了遮罩和beginGradientFill来实现,对机器要求比较高,机器不是很好的朋友慎狂点...

    点击查看Flash:
    http://tinsgao.googlepages.com/wave.swf

    主要代码如下:
    var WaveArray:Array = new Array();
    var rel_btn:MovieClip = this.loader.btn;
    this.createEmptyMovieClip("gradient_mc", 3);
    gradient_mc.cacheAsBitmap = true;
    mc.cacheAsBitmap = true;
    onMouseDown = function () {
    new Wave(WaveArray);
    };
    onEnterFrame = draw;
    function draw() {
    with (gradient_mc) {
      clear();
      spreadMethod = "pad";
      interpolati;
      fillType = "radial";
      colors = [0x00FFFF, 0xFFFFFF, 0x00FFFF];
      var wal:Number = WaveArray.length;
      for (var i:Number = 0; i<wal; i++) {
       alphas = [0, WaveArray.A, 0];
       var t:Number = WaveArray.R-10;
       ratios = [t>0 ? t : 0, WaveArray.R, WaveArray.R+10];
       focalPointRatio = 0;
       matrix = {matrixType:"box", x:WaveArray.X-550, y:WaveArray.Y-400, w:550*2, h:400*2, r:180*Math.PI};
       beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
       moveTo(0, 0);
       lineTo(0, 400);
       lineTo(550, 400);
       lineTo(550, 0);
       lineTo(0, 0);
       endFill();
      }
    }
    mc.setMask(gradient_mc);
    }
    wave.as 中的代码如下:
    ///////////////////////////////////////////http://www.25swf.com
    //////code by 25swf
    //////tinsgao@126.com
    //////2006.11.23
    ////////////////////////////////////////////////////////////////////
    import flash.geom.Point;
    class Wave {
    ///////////////////////////field/////////////////////////
    private var m_alpha:Number = 100;
    private var m_ratio:Number = 0;
    private var m_point:Point;
    private var rel_array:Array;
    private var m_iner:Number;
    ////////////////////////////attribute////////////////////
    function get A() {
      return m_alpha;
    }
    function get R() {
      return m_ratio;
    }
    function get X() {
      return m_point.x;
    }
    function get Y() {
      return m_point.y;
    }
    /////////////////////////////////////////////////////////
    function Wave(_array:Array) {
      this.rel_array = _array;
      _array.push(this);
      m_point = new Point(_root._xmouse, _root._ymouse);
      this.m_iner = setInterval(function (_rel) {
       _rel.m_alpha--;
       _rel.m_ratio+=2;
       if (_rel.m_alpha<=1) {
        _rel.Del();
        clearInterval(_rel.m_iner);
       }
      }, 50, this);
    }
    function Del() {
      for (var a in rel_array) {
       if (rel_array[a] == this) {
        rel_array.splice(a, 1);
       }
      }
      delete this;
    }
    }
  • 上一篇教程: Flash制作一个不错的缓动导航实例
  • 下一篇教程: 一个鼠标效果,代码简单易懂,效果不错的
    • 提点建议 | 友情链接 | 广告服务 | 免责声明 | 联系我们 | 网站地图 | RSS阅读
      Copyright © 2006-2008 Www.72sc.coM, All Rights Reserved 版权所有 奇爱素材网 鄂ICP备07010427号
      ++技术交流QQ群号码:1226944 ++业务联系QQ:19295971