ぐにょーん1 hiro_rec forked:1favorite:7lines:52license : All rights reserved modified : 2008-12-25 16:11:40 Embed Tweet package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BitmapDataChannel; import flash.display.BlendMode; import flash.display.Sprite; import flash.events.Event; import flash.filters.BitmapFilterQuality; import flash.filters.BlurFilter; import flash.filters.DisplacementMapFilter; import flash.geom.Point; public class Main extends Sprite { private static const LEVEL:uint = 1; private static const BLUR:BlurFilter = new BlurFilter(10, 10, BitmapFilterQuality.LOW); private var container:Sprite; private var originalBmd:BitmapData; private var bmd:BitmapData; private var bmp:Bitmap; private var radian:Number = .0; private var radius:Number = 100.; private var sx:Number = .0; private var sy:Number = .0; [SWF(backgroundColor="0x0096ff", frameRate="30")] public function Main() { container = new Sprite(); addChild(container); originalBmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0x00CCCCCC); var seed:Number = Math.floor(Math.random() * 10); var channels:uint = BitmapDataChannel.RED | BitmapDataChannel.GREEN | BitmapDataChannel.BLUE; originalBmd.perlinNoise(200, 200, 10, seed, false, true, channels, false, null); bmd = originalBmd.clone(); bmp = new Bitmap(bmd); container.addChild(bmp); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(event:Event):void { radian += Math.PI / radius; sx += ((stage.stageWidth / 2 - stage.mouseX) * Math.cos(radian) * 10 - sx) * 0.1; sy += ((stage.stageHeight / 2 - stage.mouseY) * Math.sin(radian) * 10 - sy) * 0.1; bmd.draw(originalBmd); var mapFilter:DisplacementMapFilter = new DisplacementMapFilter(bmd, new Point(), BitmapDataChannel.RED, BitmapDataChannel.RED, sx, sy, "wrap", 0, 0); bmp.filters = [mapFilter]; bmd.draw(container); bmd.applyFilter(bmd, bmd.rect, new Point(), BLUR); bmd.draw(container); } } } Code Fullscreen Preview Fullscreen CLAPTAPS nabe bluepix plankton Murai tenchiwang2 : 超炫的線條效果Good debosotnas : bitmapDataDisplacementMapFilterperlinNoiseperlin noise DisplacementMapFilter bitmapData perlinNoise 超炫的線條效果 DisplacementMapFilter clone filters mouseY mouseX Math.floor addEventListener addChild Math.cos Math.PI Math.random Point Math.sin uint Event.ENTER_FRAME Event Sprite Number sort new page view favorite forked pv189 forked from: ぐにょーん1 fukt forked:0 favorite:0lines:52 (diff:6)