package ch10_1
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.events.Event;
import flash.filters.DisplacementMapFilter;
import flash.geom.Point;
public class PerlinNoise1 extends MovieClip
{
const SW:Number = stage.stageWidth;
const SH:Number =stage.stageHeight;
var channel:int =1;
var seed:Number =Math.random()*100000;
var offsets:Array = [new Point(0,0)];
var img:ocean = new ocean(SW,SH);
var strength:int =15;
var bmd:BitmapData = new BitmapData(SW,SH,true,0x000000);
var bm:Bitmap = new Bitmap(img);
public function PerlinNoise1()
{
addChild(bm);
this.addEventListener(Event.ENTER_FRAME,ren);
}
private function ren(e:Event):void
{
bmd.perlinNoise(SW/strength,SH/strength,1,seed,true,true,channel,false,offsets);
offsets[0].x +=5;
offsets[0].y -=5;
bm.filters = [new DisplacementMapFilter(bmd,new Point(0,0),channel,channel,10,10)];
}
}
}
AS3用perlinNoise实现图片水波效果
最新推荐文章于 2016-02-25 14:51:00 发布