X-Intend[超级打算]
每个人都有自己的想法,哪怕仅仅一瞬间~!

[原]horidream的水纹效果心得确实很不错

KingFo 于 2008-06-13 21:28:53 发表  算法
订阅: 请点击这里获取订阅地址
引用: 请点击这里获取引用通告地址 (UTF-8)
上一篇 < [原]horidream的水纹效果心得确实很不错 > 下一篇

原作者:http://www.horidream.com/blog/?p=35#respond

实现代码:

点击下载此文件 

  1. package {  
  2.     import flash.display.Bitmap;  
  3.     import flash.display.BitmapData;  
  4.     import flash.display.BitmapDataChannel;  
  5.     import flash.display.Sprite;  
  6.     import flash.events.TimerEvent;  
  7.     import flash.filters.DisplacementMapFilter;  
  8.     import flash.geom.Point;  
  9.     import flash.utils.Timer;  
  10.       
  11.     /**  
  12.     * ...  
  13.     * @author telds[kingfo]  
  14.     */ 
  15.     public class BitmapWater extends Sprite {  
  16.           
  17.           
  18.         public function BitmapWater() {  
  19.              var renderTimer:Timer;  
  20.                
  21.              var img:Bitmap = new IMG() as Bitmap;  
  22.              var imgH:Number = img.height;  
  23.              var imgW:Number = img.width;  
  24.              var bmd:BitmapData = new BitmapData(imgW, imgW, false, 0);  
  25.                            
  26.               
  27.                
  28.              var baseX:Number = 50;  
  29.              var baseY:Number = 50;  
  30.              var numOctaves:uint = 3;  
  31.              var randomSeed:int = Math.floor(Math.random() * 100000);  
  32.              var stitch:Boolean = true;  
  33.              var fractalNoise:Boolean = true;   
  34.              var channelOptions:uint = BitmapDataChannel.RED;  
  35.              var grayScale:Boolean = false;
  36. //Each of numOctaves  
  37.              var offsets:Array = [new Point()/*one of numOctaves*/];  
  38.               
  39.              addChild(img);  
  40.               
  41.             renderTimer = new Timer(20,0);  
  42.             renderTimer.addEventListener(TimerEvent.TIMER, function Todo(event:TimerEvent):void {  
  43.                 bmd.perlinNoise(baseX, baseY, numOctaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offsets);  
  44.                   
  45.                 offsets[0].x = offsets[0].x + 20;  
  46.                 offsets[0].y = offsets[0].y - 20;  
  47.                 img.filters = [new DisplacementMapFilter(bmd, new Point(0, 0), channelOptions, channelOptions, 10, 10)];  
  48.             })  
  49.             renderTimer.start();  
  50.         }  
  51.           
  52.           
  53.           
  54.         [Embed(source = '../bin/123.jpg')]private var IMG:Class;  
  55.           
  56.     }  
  57.       

 

被阅 386 次, 0投一票
    1 / 0 / 0 | « 1 » |
    1 / 0 / 0 | « 1 » |
  • 看完了要说点啥么?
  • 昵称 (不填说不了话)
  • 信箱地址 (不会被公开,但是不填也说不了话)
  • 网址 (这个不填也成)

Google 网上论坛
订阅 XIntend
电子邮件:
访问此论坛

文章分类

站点统计

  • 文章总数: 87 篇
  • 评论总数: 6 条
  • 附件总数: 53 个
  • 留言总数: 0 份
  • 建站日期: 2008-1-1
  • 访问总数: 96256 人次

最新留言

赞助商

友情链接

Design by Free CSS Templates & TiSkin, Powered by Roclog v3.2.13

滇ICP备05000389号, Copyright © 2007 X-Intend[超级打算]. All rights reserved.