package { import flash.display.Sprite import flash.display.BitmapData import flash.display.Bitmap import flash.events.Event import flash.events.MouseEvent import flash.geom.Matrix import flash.geom.Rectangle import flash.geom.Point import flash.filters.BlurFilter import flash.filters.DisplacementMapFilter import flash.text.TextField; import flash.text.TextFormat; public class bmp1 extends Sprite { public var w:Number=stage.stageWidth public var h:Number=stage.stageHeight public var screenBMD:BitmapData = new BitmapData(w,h,true,0xff000000) public var screenBM:Bitmap = new Bitmap(screenBMD) public var noiseBMD:BitmapData = new BitmapData(w,h) public var noiseBM:Bitmap=new Bitmap(noiseBMD) public var screen:Sprite public var circle:Sprite public var matrix:Matrix public var blur:BlurFilter=new BlurFilter(5,5,1) public var displace:DisplacementMapFilter public function bmp1() { stage.scaleMode="noScale" stage.align="TL" noiseBMD.perlinNoise(100,100,25,1,false,true,2|4) addChild(noiseBM) displace=new DisplacementMapFilter(noiseBMD,new Point(0,0),2,4,5,5,"wrap") screen=new Sprite() screen.addChild(screenBM) addChild(screen) circle=new Sprite() circle.graphics.beginFill(0xff0000,100) circle.graphics.drawCircle(-5,-5,10) addChild(circle) stage.addEventListener("mouseMove",mouseMove) stage.addEventListener("enterFrame",enterFrame) stage.addEventListener("click",click) // ys.hu var yshu:TextField=new TextField() yshu.autoSize="right" yshu.htmlText="ys.hu" yshu.selectable=false yshu.setTextFormat(new TextFormat("verdana",10,0xffffff)) yshu.x=w-yshu.width-10 yshu.y=h-yshu.height-10 addChild(yshu) } private function mouseMove(e:MouseEvent):void { circle.x=stage.mouseX circle.y=stage.mouseY matrix=new Matrix() matrix.translate(circle.x,circle.y) screenBMD.draw(circle,matrix) e.updateAfterEvent(); } private function enterFrame(e:Event):void { screenBMD.scroll(1,1) screenBMD.applyFilter(screenBMD, screenBMD.rect,new Point(0,0),blur) screenBMD.applyFilter(screenBMD, screenBMD.rect,new Point(0,0),displace) } private function click(e:MouseEvent):void { screenBMD.draw(noiseBM) noiseBM.visible=!noiseBM.visible } } }