flash制作水波,根据鼠标点击产生效果
2013-06-10 20:38
501 查看
打开后用在画面上单击鼠标,或按住鼠标左键不放在画面上划过就会出现圈圈涟漪和波纹,非常美丽,跟真的水面一样,非常漂亮。 一、设置舞台大小(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,会一出现圈圈涟漪,效果非常真实。 還有就是這個.直接套用. 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("bg1"); 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 _loc1 = _xmouse / 2; var _loc2 = _ymouse / 2; source.setPixel(_loc1 + 1, _loc2, 16777215); source.setPixel(_loc1 - 1, _loc2, 16777215); source.setPixel(_loc1, _loc2 + 1, 16777215); source.setPixel(_loc1, _loc2 - 1, 16777215); source.setPixel(_loc1, _loc2, 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(); };
相关文章推荐
- 点击图片产生水波的动画效果代码展示
- 制作鼠标放在图片上,一闪而过水波的效果
- PS 制作 图片放大镜效果 和 鼠标点击效果
- 鼠标划过和点击产生不同的效果
- 基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
- js制作的鼠标悬浮时产生的下拉框效果
- 基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
- 制作鼠标放在图片上,一闪而过水波的效果
- AXURE 学习笔记 制作“鼠标点击时,输入框内文字消失”效果
- Flash教程:简单制作图形变换效果
- 【UI视觉】Android material Ripple 水波 点击效果
- JS实现的表格行鼠标点击高亮效果代码
- jquery实现隔行变色,点击换色,鼠标悬浮当前行变色效果,div+css 细表格样式
- jQuery - 制作点击显示二级菜单效果
- Unity3D学习1——鼠标点击效果显示
- JS响应鼠标点击实现两个滑块区间拖动效果
- 请问高手,如何制作Flash效果的图片轮播
- 鼠标点击按钮图片切换+自动切换+左右按钮点击切换效果
- 表单登录的时候,敲回车键登录(效果同鼠标点击登录一样)
- android的多点触摸(制作水波涟漪效果)