⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intrecttranslator.as

📁 Basic AS3 Geom Package
💻 AS
字号:
package de.geom
{
	import flash.display.Sprite;
	
	
	import de.math.UintScaler;
	import de.geom.IntRectangle;
	import de.geom.IntPoint;
	
	
	import org.aswing.ASColor;
	import org.aswing.graphics.*
	  
	
	public class IntRectTranslator
	{
		
		private var _startRect:IntRectangle;
		private var _destRect:IntRectangle;
		
		private var _xScaler:UintScaler;
		private var _yScaler:UintScaler;
		
		private var _resultRect:IntRectangle;
		
		private var _checkMove:Boolean;
		
		
		public function IntRectTranslator(startRect:IntRectangle,destRect:IntRectangle,checkMove:Boolean=false){
			
			_checkMove=checkMove
			
			_startRect=startRect;
			_destRect=destRect;
			
			_xScaler=new UintScaler(_startRect.x,_startRect.x+_startRect.width,_destRect.x,_destRect.x+_destRect.width,_checkMove);
			_yScaler=new UintScaler(_startRect.y,_startRect.y+_startRect.height,_destRect.y,_destRect.y+_destRect.height,_checkMove);
			
			normalize();
		
		}
		
		public function updateRange(startRect:IntRectangle,destRect:IntRectangle):IntRectangle{
			
			_xScaler=new UintScaler(startRect.x,startRect.x+startRect.width,destRect.x,destRect.x+destRect.width);
			_yScaler=new UintScaler(startRect.y,startRect.y+startRect.height,destRect.y,destRect.y+destRect.height);
			
			return normalize();
			
		}
		
		public function getResult():IntRectangle{
			
			return normalize();
			
		}
		
		public function drawResultRect (target:Sprite):void{
			
			var g:Graphics2D = new Graphics2D(target.graphics);
  			var color:ASColor = new ASColor(0xff6600)
  			/*
  			var pen:Pen = new Pen(color);
  			g.drawRectangle(pen,_resultRect.x,_resultRect.y,_resultRect.width,_resultRect.height);
  			*/
  			var brush:SolidBrush=new SolidBrush(ASColor.ORANGE)
  			g.fillRectangle(brush,_resultRect.x,_resultRect.y,_resultRect.width,_resultRect.height);
  			
  			//trace(_resultRect+ "___"+_startRect)
  			 
		}
		
		
		private  function normalize():IntRectangle{
			
			var result:IntPoint=new IntPoint();
			
			var resultRect:IntRectangle=new IntRectangle()
			
			resultRect.x=_xScaler.getResult(_startRect.x);
			resultRect.y=_yScaler.getResult(_startRect.y);
			resultRect.width=_xScaler.getResult(_startRect.width);
			resultRect.height=_yScaler.getResult(_startRect.height);
			
			_resultRect=resultRect;
			
			return resultRect;
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -