亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simpledistortion.as

?? Flex三維特效 examples - see DistortionExamples.mxml bin - Use the included SWC component for productio
?? AS
?? 第 1 頁 / 共 2 頁
字號:
package com.adobe.ac.mxeffects
{
	import com.adobe.ac.util.DisplayObjectBounds;
	import com.adobe.ac.util.SimpleDisplayObjectBoundsUtil;
	
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.Shape;
	import flash.events.Event;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	
	import sandy.util.DistortImage;
	import flash.geom.Matrix;
	
	public class SimpleDistortion
	{
		public var buildMode : String;			
		public var smooth : Boolean;
		public var offsetRect : Rectangle;
		public var target : DisplayObject;
		public var container : DisplayObject;
		public var liveUpdate : Boolean = false;
		public var liveUpdateInterval : int = 0;
		public var isDistorted : Boolean = false;
		public var targetContainer : DisplayObjectContainer;
		public var concatenatedMatrix : Matrix;
		
		public var topLeftX : Number;
		public var topLeftY : Number;
		public var topRightX : Number;
		public var topRightY : Number;		
		public var bottomRightX : Number;
		public var bottomRightY : Number;
		public var bottomLeftX : Number;
		public var bottomLeftY : Number;
		
		private var liveUpdateIntervalCounter : int;
		private var distort : DistortImage;
		private var justAddChild : Boolean;
		
		public function SimpleDistortion( target : DisplayObject, offsetRect : Rectangle = null )
		{
			buildMode = DistortionConstants.REPLACE;
			smooth = false;
			this.target = target;			
			this.offsetRect = offsetRect;
			container = new Shape();
		}
		
		public function flipFront( percentage : Number, direction : String, 
											distortion : Number = NaN, exceedBounds : Boolean = false ) : void
		{
			distortion = getDistortion( distortion );
			
			var leftPercentageDistance : Number;
			var topPercentageDistance : Number;
			var rightPercentageDistance : Number;
			var bottomPercentageDistance : Number;
			
			var inversedPercentage : Number = 100 - percentage;
			var distortionPercentage : Number = getDistortedPercentage( percentage, distortion );
			var inversedDistortionPercentage : Number = 100 - distortionPercentage;
			
			if( direction == DistortionConstants.LEFT )
			{
				leftPercentageDistance = distortionPercentage;
				topPercentageDistance = inversedPercentage;
				rightPercentageDistance = ( exceedBounds ) ? 100 + inversedDistortionPercentage : 100;
				bottomPercentageDistance = inversedPercentage;
			}
			else if( direction == DistortionConstants.TOP )
			{
				leftPercentageDistance = inversedPercentage;
				topPercentageDistance = distortionPercentage;
				rightPercentageDistance = inversedPercentage;
				bottomPercentageDistance = ( exceedBounds ) ? 100 + inversedDistortionPercentage : 100;
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				leftPercentageDistance = ( exceedBounds ) ? 100 + inversedDistortionPercentage : 100;
				topPercentageDistance = inversedPercentage;
				rightPercentageDistance = distortionPercentage;
				bottomPercentageDistance = inversedPercentage;				
			}			
			else if( direction == DistortionConstants.BOTTOM )
			{
				leftPercentageDistance = inversedPercentage;
				topPercentageDistance = ( exceedBounds ) ? 100 + inversedDistortionPercentage : 100;
				rightPercentageDistance = inversedPercentage;
				bottomPercentageDistance = distortionPercentage;
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			renderSides( leftPercentageDistance, topPercentageDistance, 
							rightPercentageDistance, bottomPercentageDistance );
		}
		
		public function flipBack( percentage : Number, direction : String, 
										distortion : Number = NaN, exceedBounds : Boolean = false ) : void
		{
			var reversedDirection : String = reverseDirection( direction );
			flipFront( 100 - percentage, reversedDirection, distortion, exceedBounds );
		}
		
		public function reverseDirection( direction : String ) : String
		{
			var reversedDirection : String;
			if( direction == DistortionConstants.LEFT )
			{
				reversedDirection = DistortionConstants.RIGHT;
			}
			else if( direction == DistortionConstants.TOP )
			{
				reversedDirection = DistortionConstants.BOTTOM;
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				reversedDirection = DistortionConstants.LEFT;		
			}
			else if( direction == DistortionConstants.BOTTOM )
			{
				reversedDirection = DistortionConstants.TOP;
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			return reversedDirection;
		}
			
		public function push( percentage : Number, direction : String, distortion : Number = NaN ) : void
		{
			distortion = getDistortion( distortion );
			
			var topLeft : Point;
			var topRight : Point;
			var bottomRight : Point;
			var bottomLeft : Point;
			var inversedDistortionPercentage : Number = getInversedDistortedPercentage( percentage, distortion );
			if( direction == DistortionConstants.LEFT )
			{
				topLeft = new Point( percentage, 100 );
				topRight = new Point( 100, inversedDistortionPercentage );
				bottomRight = new Point( 100, inversedDistortionPercentage );
				bottomLeft = new Point( percentage, 100 );
			}
			else if( direction == DistortionConstants.TOP )
			{
				topLeft = new Point( 100, percentage );
				topRight = new Point( 100, percentage );
				bottomRight = new Point(inversedDistortionPercentage, 100 );
				bottomLeft = new Point( inversedDistortionPercentage, 100 );
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				topLeft = new Point( 100, inversedDistortionPercentage );
				topRight = new Point( percentage, 100 );
				bottomRight = new Point( percentage, 100 );
				bottomLeft = new Point( 100, inversedDistortionPercentage );
			}
			else if( direction == DistortionConstants.BOTTOM )
			{
				topLeft = new Point( inversedDistortionPercentage, 100 );
				topRight = new Point( inversedDistortionPercentage, 100 );
				bottomRight = new Point( 100, percentage );
				bottomLeft = new Point( 100, percentage );
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			renderCorners( topLeft, topRight, bottomRight, bottomLeft );
		}
		
		public function pop( percentage : Number, direction : String, distortion : Number = NaN ) : void
		{
			distortion = getDistortion( distortion );
			
			var topLeft : Point;
			var topRight : Point;
			var bottomRight : Point;
			var bottomLeft : Point;
			
			var inversedPercentage : Number = 100 - percentage;
			var distortionPercentage : Number = getDistortedPercentage( percentage, distortion );
			if( direction == DistortionConstants.LEFT )
			{
				topLeft = new Point( 100, distortionPercentage );
				topRight = new Point( inversedPercentage, 100 );
				bottomRight = new Point( inversedPercentage, 100 );
				bottomLeft = new Point( 100, distortionPercentage );
			}
			else if( direction == DistortionConstants.TOP )
			{
				topLeft = new Point( distortionPercentage, 100 );
				topRight = new Point( distortionPercentage, 100 );
				bottomRight = new Point( 100, inversedPercentage );
				bottomLeft = new Point( 100, inversedPercentage );
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				topLeft = new Point( inversedPercentage, 100 );
				topRight = new Point( 100, distortionPercentage );
				bottomRight = new Point( 100, distortionPercentage );
				bottomLeft = new Point( inversedPercentage, 100 );
			}
			else if( direction == DistortionConstants.BOTTOM )
			{
				topLeft = new Point( 100, inversedPercentage );
				topRight = new Point( 100, inversedPercentage );
				bottomRight = new Point( distortionPercentage, 100 );
				bottomLeft = new Point( distortionPercentage, 100 );
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			renderCorners( topLeft, topRight, bottomRight, bottomLeft );
		}
		
		public function popUp( percentage : Number, direction : String, distortion : Number = NaN ) : void
		{			
			distortion = getDistortion( distortion );
			distortion *= 4;
			
			var topLeft : Point;
			var topRight : Point;
			var bottomRight : Point;
			var bottomLeft : Point;
			
			var inversedPercentage : Number = 100 - percentage;			
			var distortionPercentage : Number = getDistortedPercentage( percentage, distortion );						
			
			container.alpha = inversedPercentage / 100;
			
			var doubledDistortionPercentage : Number = getDoubledDistortedPercentage( percentage, distortion );
			var expandedDistortion : Number = 100 + ( 100 - doubledDistortionPercentage );
			
			var halfedDistortionPercentage : Number = getHalfedDistortedPercentage( percentage, distortion );
			var expandedSlowerDistortion : Number = 100 + ( 100 - halfedDistortionPercentage );			
			
			var expandedYDistortion : Number = getExpandedYDistortion( percentage );
			
			if( direction == DistortionConstants.LEFT )
			{
				topLeft = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				topRight = new Point( expandedYDistortion, expandedDistortion );
				bottomRight = new Point( expandedYDistortion, expandedDistortion );
				bottomLeft = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
			}
			else if( direction == DistortionConstants.TOP )
			{
				topLeft = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				topRight = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				bottomRight = new Point( expandedDistortion, expandedYDistortion );
				bottomLeft = new Point( expandedDistortion, expandedYDistortion );
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				topLeft = new Point( expandedYDistortion, expandedDistortion );
				topRight = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				bottomRight = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				bottomLeft = new Point( expandedYDistortion, expandedDistortion );
			}
			else if( direction == DistortionConstants.BOTTOM )
			{
				topLeft = new Point( expandedDistortion, expandedYDistortion );
				topRight = new Point( expandedDistortion, expandedYDistortion );
				bottomRight = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
				bottomLeft = new Point( expandedSlowerDistortion, expandedSlowerDistortion );
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			renderCorners( topLeft, topRight, bottomRight, bottomLeft );
		}
		
		private function getExpandedYDistortion( percentage : Number ) : Number
		{
			var degrees : Number = percentage / 100 * 225;
			var radians : Number = degrees * Math.PI/180
			var expandedYDistortion : Number = ( Math.sin( radians * .75 ) * 100 );
			expandedYDistortion += 100;
			return expandedYDistortion;
		}
		
		private function getDoubledDistortedPercentage( percentage : Number, distortion : Number ) : Number
		{
			return 100 - ( percentage / 100 * ( distortion * 1.5 ) );
		}		
		
		private function getHalfedDistortedPercentage( percentage : Number, distortion : Number ) : Number
		{
			return 100 - ( percentage / 100 * ( distortion / 2 ) );
		}				
		
		public function openDoor( percentage : Number, direction : String, distortion : Number = NaN ) : void
		{
			distortion = getDistortion( distortion );
			
			var topLeft : Point;
			var topRight : Point;
			var bottomRight : Point;
			var bottomLeft : Point;
			
			var inversedPercentage : Number = 100 - percentage;
			var distortionPercentage : Number = getDistortedPercentage( percentage, distortion );
			if( direction == DistortionConstants.LEFT )
			{
				topLeft = new Point( 100, 100 );
				topRight = new Point( inversedPercentage, distortionPercentage );
				bottomRight = new Point( inversedPercentage, distortionPercentage );
				bottomLeft = new Point( 100, 100 );
			}
			else if( direction == DistortionConstants.TOP )
			{
				topLeft = new Point( 100 , 100 );
				topRight = new Point( 100 , 100 );
				bottomRight = new Point( distortionPercentage, inversedPercentage );
				bottomLeft = new Point( distortionPercentage, inversedPercentage );
			}
			else if( direction == DistortionConstants.RIGHT )
			{
				topLeft = new Point( inversedPercentage, distortionPercentage );
				topRight = new Point( 100, 100 );
				bottomRight = new Point( 100, 100 );
				bottomLeft = new Point( inversedPercentage, distortionPercentage );
			}
			else if( direction == DistortionConstants.BOTTOM )
			{
				topLeft = new Point( distortionPercentage, inversedPercentage );
				topRight = new Point( distortionPercentage, inversedPercentage );
				bottomRight = new Point( 100, 100 );
				bottomLeft = new Point( 100, 100 );
			}
			else
			{
				throw new Error( "Invalid direction " + direction );
			}
			renderCorners( topLeft, topRight, bottomRight, bottomLeft );
		}
		
		public function closeDoor( percentage : Number, direction : String, distortion : Number = NaN ) : void
		{
			openDoor( 100 - percentage, direction, distortion );
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线电影| 免费观看91视频大全| 99久久综合色| 日韩伦理免费电影| 欧美午夜寂寞影院| 日本成人在线视频网站| 日韩一级视频免费观看在线| 精品一区二区综合| 国产精品二三区| 欧美色综合影院| 久久电影网站中文字幕| 中文字幕精品在线不卡| 色哟哟精品一区| 日韩成人一区二区三区在线观看| 久久一留热品黄| 91亚洲国产成人精品一区二三| 亚洲国产综合视频在线观看| 欧美r级在线观看| 97精品电影院| 蜜臀精品久久久久久蜜臀 | 色8久久人人97超碰香蕉987| 亚洲第一电影网| 国产三级精品视频| 在线精品亚洲一区二区不卡| 另类小说欧美激情| 亚洲蜜桃精久久久久久久| 91精品麻豆日日躁夜夜躁| 国产成人精品三级| 丝袜美腿成人在线| 国产精品网站一区| 日韩欧美不卡在线观看视频| 成人a级免费电影| 热久久一区二区| 国产精品久久久久桃色tv| 日韩三级视频在线看| 99热国产精品| 国产精品一区在线观看乱码| 亚洲综合一区二区| 国产欧美日韩三区| 欧美一区二区视频在线观看| 不卡电影免费在线播放一区| 免费在线成人网| 亚洲精品乱码久久久久| 国产色91在线| 欧美r级在线观看| 欧美日韩国产123区| av资源网一区| 国产成人精品免费网站| 久久99精品国产麻豆婷婷| 亚洲成人福利片| 亚洲久草在线视频| 中文幕一区二区三区久久蜜桃| 欧美一区二区三区视频免费播放 | 91欧美一区二区| 狠狠色综合播放一区二区| 亚洲gay无套男同| 一区二区三区在线视频播放| 国产亚洲欧美日韩俺去了| 日韩亚洲欧美在线观看| 欧美日韩国产美| 欧美亚洲一区二区三区四区| 91一区二区三区在线观看| 成人av在线一区二区三区| 国产在线播放一区| 久久99精品国产麻豆婷婷洗澡| 石原莉奈在线亚洲三区| 亚洲成人自拍偷拍| 亚洲成av人片在www色猫咪| 亚洲人成在线观看一区二区| 中文字幕一区三区| 成人免费在线观看入口| 亚洲欧洲国产日本综合| 最近日韩中文字幕| 中文字幕亚洲电影| 亚洲人成亚洲人成在线观看图片 | 春色校园综合激情亚洲| 国产高清无密码一区二区三区| 极品少妇xxxx偷拍精品少妇| 久久99热狠狠色一区二区| 免费精品视频在线| 国产综合一区二区| 国产成人午夜高潮毛片| 成人精品视频网站| 91视视频在线观看入口直接观看www | 亚洲成人福利片| 日日噜噜夜夜狠狠视频欧美人| 偷拍一区二区三区四区| 蜜桃视频一区二区三区| 精品一区二区免费视频| 国产黑丝在线一区二区三区| 99国产精品99久久久久久| 色狠狠桃花综合| 欧美丰满少妇xxxxx高潮对白| 8x福利精品第一导航| 欧美不卡一区二区三区| 久久久99久久精品欧美| 日韩一区在线免费观看| 丝袜美腿一区二区三区| 国产一区二区三区免费播放| 成人国产视频在线观看| 欧美综合色免费| 日韩精品一区二区三区视频播放| 久久免费午夜影院| 亚洲主播在线播放| 久久成人免费电影| 99re这里都是精品| 欧美一区二区三区小说| 欧美激情一区二区三区四区| 亚洲综合色婷婷| 经典三级视频一区| 欧美系列一区二区| 精品久久久久99| 亚洲一区免费在线观看| 国产精品色婷婷久久58| 国产精品乡下勾搭老头1| 成人高清免费在线播放| 一本色道久久综合狠狠躁的推荐| 欧美日韩精品综合在线| 国产欧美综合在线| 亚洲sss视频在线视频| 成人久久18免费网站麻豆| 色系网站成人免费| 久久男人中文字幕资源站| 一区二区三区免费观看| 国产美女久久久久| 欧美日韩一区二区三区高清| 国产欧美中文在线| 日韩精品亚洲一区| 91蜜桃网址入口| 国产午夜精品久久久久久久| 午夜成人免费电影| thepron国产精品| 精品国产伦一区二区三区观看方式| 亚洲综合一区在线| 91在线视频18| 国产日韩成人精品| 国内精品免费在线观看| 91麻豆精品国产自产在线 | 中文字幕在线一区| 麻豆中文一区二区| 欧美日韩视频在线观看一区二区三区| 26uuu亚洲综合色| 强制捆绑调教一区二区| 欧美视频日韩视频| 亚洲视频在线一区| 成人a级免费电影| 亚洲国产高清在线观看视频| 青青草国产成人av片免费| 欧美唯美清纯偷拍| 亚洲精品自拍动漫在线| av在线不卡观看免费观看| 久久久久久久久久久久久夜| 美腿丝袜一区二区三区| 日韩午夜在线影院| 日本不卡免费在线视频| 51精品视频一区二区三区| 亚洲成人资源网| 欧美日韩免费一区二区三区视频| 亚洲欧美在线另类| av在线一区二区| 亚洲视频香蕉人妖| 91在线观看一区二区| 亚洲欧洲精品一区二区三区不卡| 成人丝袜18视频在线观看| 国产女同互慰高潮91漫画| 国产精一区二区三区| 国产视频一区二区在线| 丁香婷婷综合网| 国产精品久久久久久久久快鸭| 懂色一区二区三区免费观看| 亚洲国产精品v| 99久久99久久精品国产片果冻 | 日韩综合小视频| 在线不卡免费av| 免费美女久久99| 久久综合av免费| 国产suv精品一区二区6| 成人欧美一区二区三区视频网页| 欧美福利视频一区| 日韩av在线发布| 久久青草国产手机看片福利盒子| 国产精品一区二区三区乱码| 亚洲国产精品v| 色欧美日韩亚洲| 奇米影视一区二区三区小说| 欧美xxx久久| voyeur盗摄精品| 午夜不卡av在线| 久久影院视频免费| 99re免费视频精品全部| 亚洲成人免费av| 久久久久久电影| 在线免费观看日韩欧美| 日本最新不卡在线| 国产日韩欧美激情| 欧洲一区在线电影| 精品无人码麻豆乱码1区2区| 国产精品色婷婷久久58| 在线播放国产精品二区一二区四区| 精品在线你懂的|