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 hgw 06 Sep 2010
    Embed
/**
 * Copyright hgw ( http://wonderfl.net/user/hgw )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/rFkD
 */

/*




\:/ ◯┃◯┃◯┃◯┃◯┃◯┃◯┃◯┃          \:/

…☆… ━┛━┛━┛━┛━┛━┛━┛━┛          …☆…

/:\       ◯┃◯┃◯┃◯┃◯┃◯┃◯┃◯┃◯┃◯┃/:\

 :        ━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛ :



*/





























































































package
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageQuality;
	import flash.events.Event;
	import flash.geom.Matrix;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	import flash.system.Security;
	import flash.system.System;
	import flash.text.TextField;
	import flash.text.TextFormat;
	
	[SWF(width="465", height="465", backgroundColor="0x000000", frameRate="60")]
	
	public class MoninMonin extends Sprite
	{
		
		private var _fickrSearch:RamFlickrImgLoading;
		private var _mmm:MMEffect;
		private var t_name:TextField = new TextField();
		private var t_title:TextField = new TextField();
		private var t_title2:TextField = new TextField();
		private var canvas:Bitmap = new Bitmap();
		private var words:Array = ['nude','sexy','sexy','sexy', 'internet', 'spam', 'media', 'gif', 'message', 'massage', 'coca cola', 'animation', 'vitamin', 'office'];
		private var fontsizes:Array = [110,90,90,90, 80, 90, 80, 110, 80, 80, 65, 70, 80, 80];
		private var risizeMatrix:Matrix = new Matrix();
		private var word:String;
		
		public function MoninMonin()
		{
			stage.quality = StageQuality.LOW;
			Security.loadPolicyFile("http://api.flickr.com/crossdomain.xml");
			init();	
		}
			
		private function init():void
		{
			var n:int = int(Math.random()*words.length);
			word = words[n];

			_fickrSearch = new RamFlickrImgLoading();
			_fickrSearch.start(word);
			_fickrSearch.loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadedImage);
			
			
			canvas = new Bitmap( new BitmapData(465,465,true,0x0) );
			addChild( canvas );
			
			t_name = new TextField();
			t_name.defaultTextFormat = new TextFormat("Arial", 12, 0xffffff, true, true);
			t_name.background = true;
			t_name.backgroundColor = 0x0;
			t_name.x = 10;
			t_name.text = "LOADING...";
			t_name.width = t_name.textWidth+5;
			t_name.height = t_name.textHeight+5;
			addChild( t_name );
			
			t_title2 = new TextField();
			t_title2.defaultTextFormat = new TextFormat("Arial", fontsizes[n], 0x0, true, true);
			t_title2.text = "";
			addChild( t_title2 );
			
			t_title = new TextField();
			t_title.defaultTextFormat = new TextFormat("Arial", fontsizes[n], 0xffffff, true, true);
			t_title.text = "";
			addChild( t_title );
		}
		
		
		
		/**
		 * 
		 * @param e
		 * 
		 */		
		private function onLoadedImage(e:Event):void
		{
			t_name.text = "by "+_fickrSearch.photo_userName;
			t_name.width = t_name.textWidth+5;
			t_name.height = t_name.textHeight+5;
			
			t_title.text = word.toLocaleUpperCase();
			t_title.width = t_title.textWidth+20;
			t_title.height = t_title.textHeight+5;
			
			t_title2.text = t_title.text;
			t_title2.width = t_title.textWidth+20;
			t_title2.height = t_title.textHeight+5;

			
			t_title.x = 467*.5-t_title.textWidth*.5;
			t_title.y = 467*.5-t_title.textHeight*.5;			
			t_title2.x = t_title.x+1;
			t_title2.y = t_title.y+1;
			
			var src:BitmapData = (_fickrSearch.loader.contentLoaderInfo.content as Bitmap).bitmapData;
			
			var sc:Number = 1;
			if(src.height>src.width){
				sc = 465/src.width;
				risizeMatrix.scale( sc, sc ); 
				risizeMatrix.ty = (465-(src.height*sc))*.5;
			}else{				
				risizeMatrix.scale( 465/src.height, 465/src.height); 
				risizeMatrix.tx = (465-(src.width*sc))*.5;
			}
			
			var resizedImg:BitmapData = canvas.bitmapData.clone();
			resizedImg.draw( src, risizeMatrix, null, null, null, true);
			
			_mmm = new MMEffect( resizedImg, new Rectangle( int(465*.25),int(465*.25),237,237), 5 );
			addEventListener( Event.ENTER_FRAME, updateHandler);
			updateHandler(null);


Wonderfl.capture_delay( 10 );
		}
		private function updateHandler(e:Event):void
		{
			_mmm.update();
			canvas.bitmapData.lock();
			canvas.bitmapData.fillRect( canvas.bitmapData.rect, 0x0);
			canvas.bitmapData.draw( _mmm.bitmapData, null, null, null, null, true);		
			canvas.bitmapData.unlock();
		}
	}
}
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.EventDispatcher;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.utils.Timer;


internal class MMEffect extends EventDispatcher
{
	private var src:BitmapData
	private var result:BitmapData;
	private var _mytimer:Timer;
	private var _mosRect:Rectangle = new Rectangle();
	private var _blockSize:int = 10;
	private var arrsft:Vector.<int> = new Vector.<int>();
	private var xLen:int;
	private var yLen:int;
	
	
	public function get bitmapData():BitmapData
	{
		return result;
	}
	
	public function MMEffect( src_:BitmapData, rect_:Rectangle, blocksize_:int)
	{
		_mosRect = rect_;
		_blockSize = blocksize_;
		src = src_.clone();
		result = src_.clone();
		xLen = int(rect_.width/blocksize_);
		yLen = int(rect_.height/blocksize_);
		arrsft = Vector.<int>( uniqueRandom( xLen*yLen ) );
		arrsft.sort(
			function(a:Number,b:Number):Number{ 
				if(a == b)	return 0;
				if(a > b)	return 1;
				return -1;
			}
		);
	}
	
	private function uniqueRandom(num:Number):Array
	{
		var uniqueArray:Array = new Array(num);
		var tmp:Array = new Array();
		var i:int;
		
		for(i=0; i<num; i++){
			tmp.push( i );
		}
		for(i=0; i<num; i++)
		{
			var target:int = Math.floor(Math.random()*tmp.length);
			uniqueArray[i] = tmp[target];
			tmp.splice(target,1);
		}			
		return uniqueArray;
	}
	

	
	public function update():void
	{
		for(var i:int = 0; i<yLen; i++){
			arrsft = arrsft.concat(arrsft.splice( i, 1 ));
			arrsft = arrsft.concat(arrsft.splice( i, yLen ));
		}
		if(result){
			result.dispose();
			result = null;
		}
		result = getMosaic(src, _blockSize);
	}

	private function getMosaic(	bmpd:BitmapData, size_:int):BitmapData
	{
		var result:BitmapData = bmpd.clone();
		var copyrect:Rectangle = new Rectangle( 0, 0, size_, size_ );		
		var distPt:Point = new Point();
		var cnt:int=0;
		result.lock();
		for(var ix:int=0; ix<xLen; ix++){
			for(var iy:int=0; iy<yLen; iy++){
				var n:int = arrsft[cnt];
				var nx:int = int(n/xLen);
				var ny:int = n%yLen;
				copyrect.x = _mosRect.x+(nx*size_);
				copyrect.y = _mosRect.y+(ny*size_);
				distPt.x = _mosRect.x+(ix*size_);
				distPt.y = _mosRect.y+(iy*size_);
				result.copyPixels( bmpd, copyrect, distPt);
				cnt++;
			}
		}
		result.unlock();
		return result;
	}
}




import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.system.LoaderContext;
import flash.system.Security;



internal class RamFlickrImgLoading
{
	private var _urlloader:URLLoader;
	private var _loader:Loader;
	public function get loader():Loader{ return _loader; }
	private var _keyword:String;
	private var apikey:String = '1f1a5e2c8d57623a6f6f06d0939b53f4';
	private var _photo_uname:String;
	private var _photo_url:String;
	public function get photo_userName():String { return _photo_uname; }
	public function RamFlickrImgLoading( )
	{
		_loader = new Loader();
	}
	public function start(keyword_:String ):void
	{
		var vals:URLVariables = new URLVariables();
		vals.api_key	= apikey;
		vals.method		= "flickr.photos.search";
		vals.text		= keyword_;//encodeURI(keyword_);
		vals.license	= "4,2";
		vals.extras		= "owner_name";
		vals.format		= "rest";
		var req:URLRequest = new URLRequest();
		req.data	= vals;
		req.method	= URLRequestMethod.GET;
		req.url	= "http://api.flickr.com/services/rest/";
		_urlloader = new URLLoader( req );
		_urlloader.addEventListener( Event.COMPLETE, onLoadedResultHandler );
	}
	
	private function onLoadedResultHandler(e:Event):void
	{
		_urlloader.removeEventListener( Event.COMPLETE, onLoadedResultHandler );
		var xml:XML = XML(_urlloader.data);
		
		
		if( xml.@stat == "ok" ){
			var n:int = Math.random()*xml.photos.photo.length();
			Security.loadPolicyFile("http://"+xml.photos.photo[n].@farm+".static.flickr.com/crossdomain.xml");
	
			
			
			_photo_uname = xml.photos.photo[n].@ownername;
			_photo_url = "http://farm"+xml.photos.photo[n].@farm+".static.flickr.com/"+xml.photos.photo[n].@server+"/"+xml.photos.photo[n].@id+"_"+xml.photos.photo[n].@secret+".jpg";
			_loader.load( new URLRequest(_photo_url), new LoaderContext(true) );
			_loader.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{trace(e)});
		}
	}
}