• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS进阶篇>文章内容
  • 一个水波效果
  • 来源:网络 作者:25swf 2006-12-25 【
 
主要代码如下:
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 AS2 中的拍照图片无损压缩
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)