import flash.filters.DisplacementMapFilter; import flash.display.BitmapData; import flash.geom.Point; /* WaterFX.apply(myMovieClip); */ class WaterFX { var mc:MovieClip; public static function apply(mc:MovieClip) { mc.myBitmap = new BitmapData(mc._width, mc._height, false, 0); mc.myDispl = new DisplacementMapFilter(mc.myBitmap, new Point(0, 0), 1, 1, 10, 50, "ignore", 0, 1); mc.filters = [mc.myDispl]; mc.water_i = 1; mc.onEnterFrame = function(){ updateWater(this); } } public static function updateWater(mc){ mc.myBitmap.perlinNoise(20,3,2,0,false,true,1,true,[new Point(), new Point(mc.water_i, mc.water_i/8)]); mc.filters = mc.filters; mc.water_i += 1; } }