青岛设计网标志 搜艺招聘
   Guest:  登陆 | 注册 | 网站首页 | 论坛首页 | 我的贴子 | 修改资料 | 留言板 | | 论坛帮助  | 论坛首页  

  论坛首页   FLASH  FLASH制作逼真的水波纹效果

[公告]快到[搜艺招聘网]发布招聘信息 注册简历、发布自己作品! :)  
FLASH制作逼真的水波纹效果  
    yoguz

查看yoguz的博客


金钱: 18255
Level: 0
发帖数: 1564
最后登陆: 2019/10/24
注册时间: 2004/12/13


[鍜界値鍚冧粈涔堣嵂]姣忓ぉ娉2琚嬶紝鍧氭寔30澶╋紝鍜界値濂藉鍒
信息 | 留言 | 引用 | 回复 | 编辑 | 置顶 | 移动 | 删除

FLASH制作逼真的水波纹效果

水波纹效果
打开后用在画面上单击鼠标,或按住鼠标左键不放在画面上划过就会出现圈圈涟漪和波纹,非常美丽,跟真的水面一样,非常漂亮。
一、设置舞台大小(256×256)。
二、导入图片到库。不要导入到舞台。
三、打开库设置图片链接。标识符为:surface。将“为运行时导入”勾去掉,勾上“为actionscript 导出”和“在第一帧导出”
四、在第一帧插入动作代码。
var damper = new flash.display.BitmapData(128, 128, false, 128);
var result = new flash.display.BitmapData(128, 128, false, 128);
var result2 = new flash.display.BitmapData(256, 256, false, 128);
var source = new flash.display.BitmapData(128, 128, false, 128);
var buffer = new flash.display.BitmapData(128, 128, false, 128);
var output = new flash.display.BitmapData(256, 256, true, 128);
var surface = flash.display.BitmapData.loadBitmap("surface");
var bounds = new flash.geom.Rectangle(0, 0, 128, 128);
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, 256, 256), origin, water);
buffer = source;
source = result.clone();
};
五、测试看看。点击flash,会一出现圈圈涟漪,效果非常真实。

排卵期计算器 橙创意



2007/1/8
信息 | 留言 | 引用 | 回复 | 编辑 | 置顶 | 移动 | 删除
回复:re:FLASH制作逼真的水波纹效果
    消逝灰羽

查看消逝灰羽的博客


金钱: 596
Level: 0
发帖数: 77
最后登陆: 2009/6/5
注册时间: 2007/4/11
信息 | 留言 引用 | 回复

有错误~

一切都是幻觉,我们总是在虚幻与现实中挣扎~~
2007/5/17
编辑 | 删除
回复:re:FLASH制作逼真的水波纹效果
    蜂刺蝶舞

查看蜂刺蝶舞的博客


金钱: 2242
Level: 0
发帖数: 596
最后登陆: 2007/12/24
注册时间: 2007/3/16
信息 | 留言 引用 | 回复






软件是死的,教程也是死的,但我们的心是活的,所以设计也就活了~


http://www.qingdaoui.com/l/board.asp?bID=45 ——PHOTOSPOP版面

http://www.qingdaoui.com/l/board.asp?bID=48——Illustrator/Coreldraw版面
2007/5/17
编辑 | 删除
    7     [    ]     8


青岛设计网版权所有
本论坛言论纯属发表者个人意见