| Refresh | Home EGTry.com

transform and its matrix


matrix transform matrix transform

MatrixTransform.as

package {
	import flash.display.Graphics;
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.geom.Matrix;
	import flash.geom.Point;
	import flash.geom.Transform;
	

	
	public class MatrixTransform extends Sprite
	{

		
		public function MatrixTransform()
		{

			var p1:Point=new Point(10,10);
			var p2:Point=new Point(100,50);
			
			createRect(p1, p2, 1);


			
			//define matrix 
			var m:Matrix=new Matrix();
			m.identity();
			m.translate(100,100);
			
			//transform shape
			var shape:Shape=createRect(p1, p2, 2);
			shape.transform.matrix=m;
		
			//transform coordinates explicitly
			p1=m.transformPoint(p1);
			p2=m.transformPoint(p2);
			createRect(p1,p2,2);
			


		}
		
		public function createRect(p1:Point, p2:Point, linewidth:int):Shape {
			var shape:Shape=new Shape();
			var g:Graphics=shape.graphics;
			g.lineStyle(linewidth, 0x000000, 0.5);
			g.drawRect(p1.x, p1.y, Math.abs(p2.x-p1.x), Math.abs(p2.y-p1.y));
			addChild(shape);
			return shape;
		}
		



	}
}