文章搜索:
打开支付宝首页搜索“510617664”,即可领红包
  首页--> 计算机--> FLASH教程
 
一个水波效果
http://www.xxqqss.com 学习轻松网 点击量:5264
 

主要使用了遮罩和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;
}
}


作者:25swf  来源:闪吧


打印】 【关闭
免责声明 :本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请发送fiyeadwyv@163.com
最热门点击排行
 
版权所有 2006-2021:学习轻松网 Copyright http://www.xxqqss.com All rights reserved 浙ICP备14013707号-1
广告联系电话: 13958357030 联系QQ:9792414 工具条下载