i got this script from this tutorial. I tried to convert it from AS2 to AS3, but it seems like the displacement filter is only applied once for some reason. After that, the bitmap isn’t updated …
var myBitmap:BitmapData = new BitmapData(1000,600,false,0);
var pt = new Point(0,0);
var mpoint = new Point(0,0);
var myDispl = new DisplacementMapFilter(myBitmap, mpoint,1,2,10,30);
var myList = new Array();
myList.push(myDispl);
water_mc.filters = myList;
var i = 1;
this.addEventListener("enterFrame", perlin );
function perlin(evt)
{
var filterList = water_mc.filters;
var offset = new Array();
offset[1] = new Object();
offset[1].x = i * 15;
offset[1].y = i/8 * 15;
filterList.mapBitmap = myBitmap;
myBitmap.perlinNoise(45,5,3,50,true,false, 7,true,offset);
water_mc.filters = filterList;
i++;
}
You dont need to apply the filter everytime since you are not making any changes to the filter in the Enter_Frame Handler. Also the DisplacementMapFilter can be directly applied to your movieclip. I have made some code changes to the code you pasted.