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

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

?? objectcontroller.as

?? flash 360全景瀏覽
?? AS
字號:
package org.papervision3d.core.components.as3.utils
{ 
	/*
	Copyright (c) 2007 John Grden
	
	Permission is hereby granted, free of charge, to any person obtaining a
	copy of this software and associated documentation files (the
	"Software"), to deal in the Software without restriction, including
	without limitation the rights to use, copy, modify, merge, publish,
	distribute, sublicense, and/or sell copies of the Software, and to
	permit persons to whom the Software is furnished to do so, subject to
	the following conditions:
	
	The above copyright notice and this permission notice shall be included
	in all copies or substantial portions of the Software.
	
	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
	IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
	CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
	TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
	SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
	*/
	/**
	 * @author John Grden
	 */
	import flash.display.Stage;
	import flash.events.EventDispatcher;
	import flash.events.KeyboardEvent;
	import flash.events.MouseEvent;
	
	import org.papervision3d.objects.DisplayObject3D;
	
	import com.blitzagency.xray.logger.XrayLog;	

	//import com.rockonflash.papervision3d.modelviewer.events.ObjectControllerEvent;

	public class ObjectController extends EventDispatcher
	{
		private static var _instance:ObjectController = null;
		public static function getInstance():ObjectController
		{
			if(_instance == null) _instance = new ObjectController();
			return _instance;
		}
		
		public var isMouseDown			:Boolean;
		public var restrictInversion	:Boolean = false;
		
		protected var currentRotationObj:DisplayObject3D;
		
		protected var arrowLeft			:Boolean;
		protected var arrowUp			:Boolean;
		protected var arrowRight		:Boolean;
		protected var arrowDown			:Boolean;
		
		protected var lastX				:Number;
		protected var lastY				:Number;
		protected var difX				:Number;
		protected var difY				:Number;
		
		
		
		protected var si				:Number;
		//protected var timer				:Timer = new Timer(25,0);
		
		protected var movementInc		:Number = 1;
		
		private var log					:XrayLog = new XrayLog();
		private var stage				:Stage;
		
		public function ObjectController()
		{
			// constructor
			//Mouse.addListener(this);
			//Keyboard.addListener(this);
			//timer.addEventListener(TimerEvent.TIMER, handleTimerTick);
			//timer.start();
		}
		
		public function registerControlObject(obj:DisplayObject3D):void
		{
			currentRotationObj = obj;
		}
		
		public function registerStage(p_stage:Stage):void
		{
			stage = p_stage;
			stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
			stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
			stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			
			updateLastRotation();
			updateDif();
		}
		
		protected function updateLastRotation():void
		{
			lastX = stage.mouseX;
			lastY = stage.mouseY;
		}
		
		protected function updateDif():void
		{
			difX = Number(stage.mouseX - lastX);
			difY = Number(stage.mouseY - lastY);
		}
		
		protected function onMouseDown(e:MouseEvent):void
		{
			updateLastRotation();
			isMouseDown = true;
		}
		
		protected function onMouseMove(e:MouseEvent):void
		{
			updateMovements();
		}
		
		/*
		protected function handleTimerTick(e:TimerEvent):void
		{
			updateMovements();
		}
		*/
		
		protected function onMouseUp(e:MouseEvent):void
		{
			isMouseDown = false;
			updateLastRotation();
		}
		
		protected function onKeyDown(e:KeyboardEvent):void 
		{
			/*
			37 // left
			38 // up
			39 // right
			40 // down
			*/
			try
			{
				movementInc += movementInc*.1;
				//log.debug("keyDown", e.keyCode);
				switch(e.keyCode)
				{
					case 37:
						arrowLeft = true;
					break;
					
					case 38:
						arrowUp = true;
					break;
					
					case 39:
						arrowRight = true;
					break;
					
					case 40:
						arrowDown = true;
					break;
				}
				
			}catch(e:Error)
			{
				log.debug("keyDown error");
			}
		}
		
		protected function onKeyUp(e:KeyboardEvent):void 
		{
			movementInc = 1;
			try
			{
				switch(e.keyCode)
				{
					case 37:
						arrowLeft = false;
					break;
					
					case 38:
						arrowUp = false;
					break;
					
					case 39:
						arrowRight = false;
					break;
					
					case 40:
						arrowDown = false;
					break;
				}
			}catch(e:Error)
			{
				log.debug("keyDown error");
			}
		}
			
		protected function handleKeyStroke():void
		{
			var inc:Number = 5 + movementInc;
			
			if(arrowLeft) currentRotationObj.x -= inc;
			if(arrowUp) currentRotationObj.z += inc;
			if(arrowRight) currentRotationObj.x += inc;
			if(arrowDown) currentRotationObj.z -= inc;
		}
		
		protected function updateMovements():void
		{
			updateDif();
			handleKeyStroke();
			
			if(!isMouseDown) return;
			
			try
			{
				var posx:Number = difX/7;
				var posy:Number = difY/7;
				
				posx = posx > 360 ? posx % 360 : posx;
				posy = posy > 360 ? posy % 360 : posy;
				
				if(restrictInversion && currentRotationObj.rotationX - posy >= (-90) && currentRotationObj.rotationX - posy <= (90))
				{
					currentRotationObj.rotationX -= posy;
				}else if(!restrictInversion)
				{
					currentRotationObj.rotationX -= posy;
				}
				currentRotationObj.rotationY += posx;
				//dispatchEvent(new ObjectControllerEvent(ObjectControllerEvent.MOVEMENT, posx, posy));
				
				if(difX != 0) lastX = stage.mouseX;
				if(difY != 0) lastY = stage.mouseY;
			}catch(e:Error)
			{
				log.debug("handleMouseMove failed");
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区高清| 日本vs亚洲vs韩国一区三区二区| 国产欧美1区2区3区| 久久精品一区二区三区四区| 久久精品欧美一区二区三区麻豆| 久久青草国产手机看片福利盒子 | 欧美精品自拍偷拍| 日韩欧美在线综合网| 精品久久国产字幕高潮| 亚洲男人的天堂在线观看| 亚洲电影视频在线| 蜜臀久久久久久久| 成人免费视频视频| 欧美男生操女生| 欧美高清在线一区| 亚洲图片欧美视频| 成人在线一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 精品国产a毛片| 国产精品国产a| 久久99九九99精品| 在线一区二区视频| 欧美国产精品v| 久久99精品一区二区三区| 色偷偷88欧美精品久久久| 久久久精品免费观看| 亚洲午夜免费电影| www.日韩在线| 久久九九国产精品| 国产乱码一区二区三区| 欧美一级午夜免费电影| 亚洲夂夂婷婷色拍ww47| 99久久国产免费看| 国产精品丝袜在线| 色综合久久久网| 国产精品进线69影院| 国产精品一区二区视频| 日韩精品一区二区三区在线| 亚洲自拍偷拍综合| 欧美在线三级电影| 亚洲一区日韩精品中文字幕| 91蜜桃传媒精品久久久一区二区| 久久亚洲综合色| 久久99精品久久久久久国产越南 | 日韩在线一区二区| 欧美日韩中文一区| 亚洲h在线观看| 在线播放一区二区三区| 麻豆成人免费电影| 日韩欧美一级二级三级久久久| 蜜桃91丨九色丨蝌蚪91桃色| 欧美一卡二卡三卡| 国产精品99久久久久久有的能看| 久久亚洲综合色一区二区三区| 国产一区二区精品久久99| 精品国产免费一区二区三区四区| 狠狠色综合播放一区二区| 精品成人在线观看| 99久久精品免费| 伊人开心综合网| 日韩女优制服丝袜电影| 丁香网亚洲国际| 亚洲午夜私人影院| 日韩免费电影一区| av中文字幕一区| 日韩精品视频网站| 亚洲一二三四在线| 精品久久五月天| 99久久伊人久久99| 午夜久久福利影院| 中文字幕欧美激情| 91.麻豆视频| 丰满白嫩尤物一区二区| 视频精品一区二区| 国产精品家庭影院| 久久综合五月天婷婷伊人| 91视频免费观看| 国模冰冰炮一区二区| 亚洲bt欧美bt精品| 亚洲三级小视频| 久久久久久久久伊人| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲一卡二卡三卡四卡无卡久久 | 日韩视频国产视频| 色悠悠久久综合| 高清在线观看日韩| 黄色成人免费在线| 麻豆精品国产91久久久久久| 亚洲综合一区二区| 成人av午夜电影| 国产成人在线网站| 国产一区二区三区观看| 丝袜亚洲精品中文字幕一区| 亚洲精品国久久99热| 国产精品网曝门| 欧美国产激情一区二区三区蜜月| 久久亚洲一区二区三区明星换脸 | 欧美蜜桃一区二区三区| 欧美日韩一区在线| 欧美日韩精品欧美日韩精品一 | 亚洲精品欧美二区三区中文字幕| 久久女同性恋中文字幕| 欧美美女黄视频| 色婷婷亚洲精品| 欧美日韩电影一区| 欧美一区二区三区人| 日韩欧美成人激情| 国产日韩成人精品| 最近中文字幕一区二区三区| 日本午夜精品一区二区三区电影 | 色综合久久久久综合99| 99在线精品免费| 色激情天天射综合网| 精品污污网站免费看| 日韩美女一区二区三区| 久久精品一区二区三区不卡 | 亚洲高清一区二区三区| 强制捆绑调教一区二区| 成人综合婷婷国产精品久久蜜臀 | 欧美一a一片一级一片| 这里只有精品电影| 国产精品丝袜91| 亚洲成人免费电影| 成人免费视频免费观看| 69堂精品视频| 奇米综合一区二区三区精品视频| 久久国产尿小便嘘嘘尿| 99国产精品视频免费观看| 欧美日韩一区二区三区免费看| 精品日韩99亚洲| 亚洲国产va精品久久久不卡综合 | 老司机免费视频一区二区三区| 成人免费黄色在线| 亚洲精品在线三区| 午夜久久电影网| 欧美午夜在线观看| 1区2区3区精品视频| 狠狠色狠狠色综合日日91app| 日本道色综合久久| 国产精品欧美精品| 国产一区二区在线看| 欧美丰满一区二区免费视频| 亚洲精品久久久蜜桃| 国产精品自在在线| 精品国产乱码久久久久久1区2区| 激情综合色丁香一区二区| 欧美亚洲国产一区二区三区va| 欧美高清一级片在线观看| 男人的j进女人的j一区| 欧美日韩日日骚| 亚洲综合在线五月| 欧美三级电影精品| 日韩一区精品视频| 日韩欧美一级二级三级久久久| 日本强好片久久久久久aaa| 欧美精品久久99久久在免费线| 亚洲成人免费影院| 91精品国产高清一区二区三区| 亚洲成人自拍一区| 日韩女优制服丝袜电影| 久久99精品国产.久久久久久| 精品国产乱码久久久久久1区2区| 精品亚洲成a人在线观看| 国产日韩成人精品| 91蝌蚪porny成人天涯| 一区二区理论电影在线观看| 欧美裸体一区二区三区| 日本一区中文字幕| 日本一区二区综合亚洲| 一本色道久久综合亚洲91| 韩国中文字幕2020精品| 日本一区二区电影| 在线观看亚洲a| 久久99国内精品| 日韩美女视频一区二区 | 成人app软件下载大全免费| 亚洲视频一区二区在线| 91精品欧美久久久久久动漫| 国产精品66部| 午夜在线电影亚洲一区| 久久精品在线免费观看| 欧美在线一二三四区| 国产一区二区三区黄视频| 亚洲国产精品自拍| 久久精品日韩一区二区三区| 欧美天天综合网| 成人美女在线视频| 美女网站视频久久| 亚洲夂夂婷婷色拍ww47| 中文一区二区在线观看| 日韩午夜激情av| 欧美无乱码久久久免费午夜一区| 国产精品香蕉一区二区三区| 日本sm残虐另类| 国产一区二区在线观看免费| 亚洲成a人片在线不卡一二三区| 国产精品久久久99| 日本一区二区免费在线观看视频 | 91行情网站电视在线观看高清版| 久久91精品久久久久久秒播|