注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

yangzh691216的博客

成功止于信念

 
 
 

日志

 
 

Flash制作水波纹效果2  

2013-06-19 10:50:07|  分类: FLASH技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

火鸟工作室欢迎您

 Flash制作水波纹效果2

水波纹效果

一、设置舞台大小(640×480)。
二、导入图片到库。不要导入到舞台。
三、打开库设置图片链接。标识符为:surface。将“为运行时导入”勾去掉,勾上“为actionscript 导出”和“在第一帧导出”
四、在第一帧插入动作代码。
import flash.display.BitmapData
import flash.geom.Rectangle
import flash.geom.Matrix


var damper = new flash.display.BitmapData(320, 240, false, 240);
var result = new flash.display.BitmapData(320, 240, false, 240);
var result2 = new flash.display.BitmapData(640, 480, false, 240);
var source = new flash.display.BitmapData(320, 240, false, 240);
var buffer = new flash.display.BitmapData(320, 240, false, 240);
var output = new flash.display.BitmapData(640, 480, true, 240);
var surface = flash.display.BitmapData.loadBitmap("surface");
var bounds = new flash.geom.Rectangle(0, 0, 320, 240);
var origin = new flash.geom.Point();
var matrix = new flash.geom.Matrix();
var matrix2 = new flash.geom.Matrix();
matrix2.a = matrix2.d = 2;
var wave = new flash.filters.ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0);
var damp = new flash.geom.ColorTransform(0, 0, 9.960937E-001, 1, 0, 0, 2, 0);
var water = new flash.filters.DisplacementMapFilter(result2, origin, 4, 4, 48, 48, "ignore");
attachBitmap(output, 0);
var ms = getTimer();
var frame = 0;
var mouseDown = false;
onMouseDown = function ()
{
    mouseDown = true;
};
onMouseUp = function ()
{
    onEnterFrame();
    mouseDown = false;
};
onEnterFrame = function ()
{
    if (mouseDown)
    {
        var _loc2 = _xmouse / 2;
        var _loc1 = _ymouse / 2;
        source.setPixel(_loc2 + 1, _loc1, 16777215);
        source.setPixel(_loc2 - 1, _loc1, 16777215);
        source.setPixel(_loc2, _loc1 + 1, 16777215);
        source.setPixel(_loc2, _loc1 - 1, 16777215);
        source.setPixel(_loc2, _loc1, 16777215);
    } // end if
    result.applyFilter(source, bounds, origin, wave);
    result.draw(result, matrix, null, "add");
    result.draw(buffer, matrix, null, "difference");
    result.draw(result, matrix, damp);
    result2.draw(result, matrix2, null, null, null, true);
    output.applyFilter(surface, new flash.geom.Rectangle(0, 0, 640, 480), origin, water);
    buffer = source;
    source = result.clone();
};


 

 

 

 
 
 
 
  评论这张
 
阅读(63)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017