Matrix();

by hashito
MainStage
♥0 | Line 67 | Modified 2010-03-30 23:27:16 | MIT License
play

ActionScript3 source code

/**
 * Copyright hashito ( http://wonderfl.net/user/hashito )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/bKgh
 */

// MainStage
package {
	import flash.display.Sprite;
	[SWF(frameRate=60,width=456,height=456)]
	public class MainStage extends Sprite {
		public function MainStage(){
			addChild(new Main());
		}
	}
}

import flash.display.*;
import flash.filters.BlurFilter;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
import flash.events.*;
import flash.utils.Timer;
import flash.text.TextField;
import flash.text.TextFormat;
import net.hires.debug.Stats;

class debug{public static var out:TextField=new TextField();}
//
/*
	t.hashito
*/
class MF{
	public static function AFFORD (x:Number,aim:Number,a:Number):Boolean{return (x<=(a+aim))&&(x>=(a-aim));}
	public static function RAN (n:Number=1):Number{return (Math.random()*n);}
	public static function ISPM (n:Number):Number{if(n<0){return -1;}else if(n>0){return 1;}return 0;}
	public static function MAX (n:Number,max:Number):Number{return (n>max)?max:n;}
	public static function MIN (n:Number,min:Number):Number{return (n<min)?min:n;}
	public static function LIMIT (n:Number,max:Number,min:Number):Number{if(n>max){return max;}else if(n<min){return min;}else{return n};}
	public static function RAD_ANG(n:Number):Number{return n*180/Math.PI}
	public static function ANG_RAD(n:Number):Number{return n*Math.PI/180 }
}

class Main extends Sprite{
	public const H:Number = 456,W:Number = 456,COL:int=10,ROW:int=10;
	public const COL_SIZE:int=H/COL,ROW_SIZE:int=W/ROW;
	public var v:Vector.<Bitmap> = new Vector.<Bitmap>(COL*ROW,true);
	
	//Constructor
	public function Main() {addEventListener(Event.ADDED_TO_STAGE, init);}
	//init
	public function init(e:*):void{
		var t:TextField=new TextField(),cnv:Sprite=new Sprite(),source:BitmapData=new BitmapData(COL_SIZE,ROW_SIZE,false,0xffffff);
		var c:int,r:int,idx:int,m:Matrix=new Matrix();
		var sx:Number=1,sy:Number=1,rt:Number=0,tx:Number=0,ty:Number=0;
		
		cnv.addChild(t);
		t.autoSize = flash.text.TextFieldAutoSize.LEFT;
		t.text="ABCDEFG";
		t.textColor=0xff0000;
		source.draw(cnv);
		
		t.textColor=0x0;
		for(c=0,idx=0;c<COL;c++){
			//sx*=1.1;sy*=1.1;rt=0.01;
			for(r=0;r<ROW;r++){
				//rt*=1.1;
				var b:BitmapData = new BitmapData(COL_SIZE,ROW_SIZE,false,0xffffff);
				sx=MF.RAN(3);sy=MF.RAN(3);rt =MF.RAN(5);tx=MF.RAN(ROW_SIZE/2);ty=MF.RAN(COL_SIZE/2);
				m.createBox(sx,sy,rt)
				b.draw(source,m);
				//m.createBox(0.2,0.2)
				//t.text="sx="+sx+" sy="+sy+" rt="+rt+" tx="+tx+" ty="+ty;
				//b.draw(cnv,m);
				
				v[idx]=new Bitmap(b);
				addChild(v[idx]);
				v[idx].x=c*COL_SIZE;
				v[idx].y=r*ROW_SIZE;
				
				idx++;
			}
		}
		
		
		// debug
		addChild(debug.out);
		debug.out.autoSize=flash.text.TextFieldAutoSize.LEFT;
		
		addEventListener(Event.ENTER_FRAME ,update);
		stage.addEventListener(MouseEvent.MOUSE_MOVE ,mousemove);
	}
	public function update(e:Event=null):void{
	}
	public function mousemove(e:Event=null):void{}
}