呢称:ゞㄗs_:單純
QQ:410945071
空间地址:user.qzone.qq.com/410945071
日志地址:user.qzone.qq.com/410945071/blog/1218267441
文本内容:教你用FLASH打造酷酷的逼真水波效果
教你用FLASH打造酷酷的逼真水波效果 ![]() 用Matrix类跟BitmapData类可以打造很多酷的效果。比如摄像头读取数据等都会用到这个。这里,构建一个超酷逼真的水波效果。用的时候,这里建议一下大家:在一般情况下,不要用这个类。因为这个类比较占计算机CPU资源。只是如果纯粹为了效果较酷。还是可以推荐一下。OK,先look一眼。请用鼠标在上面拖动,即可看效果;由于8月TX暂时不能FLASH.所以本人发下地址.察看效果. FLASH地址.http://up.qzone.net.cn/qzone.net.cn/20080809032439_qq;410945071.swf 打开软件.新建一个FLASH文档.再执行文件.导入.导入到舞台. 设置帧频。这里可以设置大一些,为了流畅性。当然,不要过于大了。过于大了,反而会略显不自然。 在库里点击图片.右键.选择连接.然后添加上链接标识符"my_taoshaw_photo"。这里,主要为了主场景中AS代码的调用。 回到主场景.选择图层1的第一帧.F9动作.输入AS代码. 代码如下; //================版权声明开始================// //单纯de天空;http://410945071.qzone.qq.com //单纯de天空所有教程欢迎转载。不过请转载时注明出处。谢谢合作。 //================版权声明结束================// //导入BitmapData类 import flash.display.BitmapData; //导入Matrix类 import flash.geom.Matrix; var my_Bitmapdata1:BitmapData = new BitmapData(128, 128, false, 128); var my_Bitmapdata2 = new BitmapData(128, 128, false, 128); var my_Bitmapdata3 = new BitmapData(256, 256, false, 128); var my_Bitmapdata4 = new BitmapData(128, 128, false, 128); var my_Bitmapdata5 = new BitmapData(128, 128, false, 128); var my_Bitmapdata_out = new BitmapData(256, 256, true, 128); //在此处设置加载图片位置 var my_taoshaw_photo = BitmapData.loadBitmap("my_taoshaw_photo"); var bounds = new flash.geom.Rectangle(0, 0, 128, 128); var origin = new flash.geom.Point(); var matrix:Matrix = new Matrix(); var matrix2 = new flash.geom.Matrix(); matrix2.a = matrix2.d=2; var w**e = 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(my_Bitmapdata3, origin, 4, 4, 48, 48, "ignore"); attachBitmap(my_Bitmapdata_out, 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; my_Bitmapdata4.setPixel(_loc2+1, _loc1, 16777215); my_Bitmapdata4.setPixel(_loc2-1, _loc1, 16777215); my_Bitmapdata4.setPixel(_loc2, _loc1+1, 16777215); my_Bitmapdata4.setPixel(_loc2, _loc1-1, 16777215); my_Bitmapdata4.setPixel(_loc2, _loc1, 16777215); } my_Bitmapdata2.applyFilter(my_Bitmapdata4, bounds, origin, w**e); my_Bitmapdata2.draw(my_Bitmapdata2, matrix, null, "add"); my_Bitmapdata2.draw(my_Bitmapdata5, matrix, null, "difference"); my_Bitmapdata2.draw(my_Bitmapdata2, matrix, damp); my_Bitmapdata3.draw(my_Bitmapdata2, matrix2, null, null, null, true); my_Bitmapdata_out.applyFilter(my_taoshaw_photo, new flash.geom.Rectangle(0, 0, 256, 256), origin, water); my_Bitmapdata5 = my_Bitmapdata4; my_Bitmapdata4 = my_Bitmapdata2.clone(); }; //创建新右键菜单 myMenu = new ContextMenu(); //隐藏右键菜单 myMenu.hideBuiltInItems(); myMenu.customItems.push(new ContextMenuItem("鼎力支持原创.分享写作乐趣.单纯de天空.QQ;410945071", PR)); function PR(obj, item) { getURL("http://410945071.qzone.qq.com } //将新菜单赋予给场景 _root.menu = myMenu; |
PSsimple (410945071) 于 2008-08-09 15:45:00 对此贴进行了编辑
PSsimple (410945071) 于 2008-08-09 15:45:28 对此贴进行了编辑
PSsimple (410945071) 于 2008-08-09 15:46:57 对此贴进行了编辑



选择表情