In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

ぐにゃらん

Get Adobe Flash player
by naggg 17 Jan 2009
    Embed
package{
	
	import flash.display.*;
	import flash.events.*;
	import flash.filters.*;
	import flash.geom.Point;
	import flash.media.Camera;
	import flash.media.Video;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.utils.setInterval;
	
	public class Hoge extends Sprite{
		
		
		[SWF(width="465", height="465", backgroundColor="0x000000", frameRate="30")]
		
        private var camera:Camera;
        private var video:Video;
        private var canvas:BitmapData;
		
		private var bm:Bitmap;
		private var map:BitmapData;
		private var df:DisplacementMapFilter;
		private var bf:BlurFilter;
		private var k:Number;
		private var renderID:Number;
		private var maxRenderID:Number;
		
		public function Hoge():void{
			
            camera = Camera.getCamera();
            if(!camera) {
                throw new Error('No Camera!');
            }
            camera.setMode(320, 240, 30);
            video = new Video(320, 240);
            video.attachCamera(this.camera);
			video.scaleX = video.scaleY = 465 / 240;
			
			video.width = video.height = 465;
			
			map = new BitmapData(465, 465);
			map.perlinNoise(100, 100, Math.floor(Math.random() * 10) + 1, 2, false, false, 7, false);
			
			df = new DisplacementMapFilter(map, new Point(0,0), 1, 1, 30, 30);
			bf = new BlurFilter();
			
			k = 0;
			
			addChild(video)
			
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
			
		}
		
		
		private function enterFrameHandler(evt:Event):void{
			k += 2;
			df.scaleX += 30 * Math.cos(k/180*Math.PI);
			bf.blurX = bf.blurY = 4 * Math.abs(Math.sin(k/180*Math.PI));
			video.filters = [df, bf];
			if(k >= 360){
				k = 0;
				map.perlinNoise(200, 200, 10, 2, false, false, 7, false);
			}
		}
	}
	
}