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

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

?? pv3dscene3d.as

?? ActionScript寫的3D圖片展示功能
?? AS
字號:
?/**
* @author John Grden
*/
package org.papervision3d.core.components.as3.flash9 {
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.geom.Point;
	import flash.utils.Timer;
	
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.cameras.FreeCamera3D;
	import org.papervision3d.core.components.as3.core.PV3DUIComponent;
	import org.papervision3d.core.components.as3.utils.CoordinateTools;
	import org.papervision3d.core.proto.CameraObject3D;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.render.BasicRenderEngine;
	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.view.Viewport3D;
	
	import com.blitzagency.xray.logger.XrayLog;	

	/**
	* Dispatched when the Scene3D has been created along with the camera.
	* 
	* @eventType org.papervision3d.components.as3.flash9.PV3DScene3D.SCENE_INIT
	*/
	[Event(name="sceneInit", type="flash.events.Event")]
	
	/**
	 * PV3DScene3D creates a MovieScene3D and FreeCamera3D for quick scene and resize management.  You can access the scene and camera for full control with code at runtime.
	 * 
	 */	

	public class PV3DScene3D extends PV3DUIComponent
	{
		/**
		* @eventType sceneInit
		*/		
		public static const SCENE_INIT:String = "sceneInit";
		
		// public vars
		// component UI handlers
		[Inspectable ( defaultValue="Free", enumeration="Free, Target", type="List", name="Camera Type" )]
		/**
		* @private
		*/		
		public var cameraType				:String = "Free";
		
		[Inspectable ( type="Number", defaultValue=-1000, name="Camera Z")]
		/**
		* @private
		*/
		public function set cameraZ(z:Number):void
		{
			_cameraZ = z;
			try
			{
				currentCamera3D.z = z;
				updateScene();
			}catch(e:Error)
			{
				
			}
		}
		/**
		* @private
		*/
		public function get cameraZ():Number
		{
			return _cameraZ;
		}
		
		[Inspectable ( type="Number", defaultValue=1, name="Camera Zoom")]
		/**
		* @private
		*/
		public function set cameraZoom(zoom:Number):void
		{
			_cameraZoom = zoom;
			try
			{
				currentCamera3D.zoom = zoom;
				updateScene();
			}catch(e:Error)
			{
				
			}
		}
		/**
		* @private
		*/
		public function get cameraZoom():Number
		{
			return _cameraZoom;
		}
		
		[Inspectable ( type="Number", defaultValue=300, name="Camera Focus")]
		/**
		* @private
		*/
		public function set cameraFocus(focus:Number):void
		{
			_cameraFocus = focus;
			try
			{
				currentCamera3D.focus = focus;
				updateScene();
			}catch(e:Error)
			{
				// camera not ready
			}
		}
		/**
		* @private
		*/
		public function get cameraFocus():Number
		{
			return _cameraFocus;
		}
		
		[Inspectable ( type="Boolean", defaultValue="true", name="Auto Render Scene")]
		/**
		* @private
		*/
		public function set autoRenderScene(value:Boolean):void
		{
			_autoRenderScene = value;
		}
		/**
		* @private
		*/
		public function get autoRenderScene():Boolean
		{
			return _autoRenderScene;
		}
		
		/**
		 * @private 
	 	*/
		public var currentCamera3D			:CameraObject3D;
		
		/**
		* @private
		*/
		public function set cameraTarget(p_target:DisplayObject3D):void
		{
			_cameraTarget = p_target;
			targetCam.target = _cameraTarget;
		}
		/**
		* @private
		*/
		public function get cameraTarget():DisplayObject3D
		{
			return _cameraTarget;
		}
		
		// scenes
	    /**
		* @private
		*/
	    protected var _scene     				:Scene3D = null;
	    /**
		* The InteractiveScene3D used by the component
		*/
	    public function set scene(scene3d:Scene3D):void
	    {
	    	_scene = scene3d;
	    }
	    public function get scene():Scene3D
	    {			
			return _scene;
	    }
	    /**
	     * The camera used by the component.  FreeCamer3D by default
	     * @return 
	     * 
	     */	    
	    public function get camera():CameraObject3D { return currentCamera3D; }
	    public function set camera(p_camera:CameraObject3D):void { currentCamera3D = p_camera; }
	    
	    /**
	    * @private
	    */	    
	    protected var timer					:Timer = new Timer(25,0);
		
		// cameras
		/**
		 * @private 
	 	*/
		protected var targetCam				:Camera3D;
		
		/**
		 * @private 
	 	*/
	 	protected var _cameraTarget			:DisplayObject3D;
		/**
		 * @private 
	 	*/
		protected var _cameraZ				:Number = -1000;
		/**
		 * @private 
	 	*/
		protected var _cameraZoom			:Number = 1;
		/**
		 * @private 
	 	*/
		protected var _cameraFocus			:Number = 300;
		/**
		 * @private 
	 	*/
		protected var _autoRenderScene		:Boolean = true;
		/**
		 * @private 
	 	*/
		protected var freeCam 				:FreeCamera3D;

		/**
		* The sprite container where the scene will be drawn
		*/		
		protected var canvas				:Sprite = null;
		/**
		 * @private 
	 	*/
		protected var mainCanvas			:Sprite = null;
		
		public var viewport					:Viewport3D;
		
		public var renderer					:BasicRenderEngine = new BasicRenderEngine();
		
		public function PV3DScene3D()
		{
			super();
			initApp();
		}
		
		/**
		 * Used to pause the rendering of the scene
		 * 
		 */		
		public function pause():void
		{
			timer.stop();
		}
		
		/**
		 * Used to resume the rendering of the scene
		 * 
		 */		
		public function resume():void
		{
			timer.start();
		}
		
		/**
		 * @private 
	 	*/
		override protected function configUI():void
		{
			log.debug("configUI");
			if(isLivePreview) 
			{
				trace("displayLogo?");
				displayLogo();
			}
			
			manageStageSize();
			
			var coordinates:Point = CoordinateTools.localToLocal(this, parent);
			screenOffsetX = coordinates.x;
			screenOffsetY = coordinates.y;
			
			canvas = new Sprite();
			canvas.name = "canvas";
			mainCanvas = new Sprite();
			mainCanvas.name = "mainCanvas";
			
			addChild(canvas);
			canvas.addChild(mainCanvas);
			
			createCamera(cameraType);
			
			// create scene object
			init3D();
			
			// updateScene
			if(!isLivePreview && autoRenderScene)
			{
				timer.addEventListener(TimerEvent.TIMER, handleTimerUpdate);
				timer.start();
			}else
			{
				// gives me 5 frame updates it seems
				stage.addEventListener(Event.ENTER_FRAME, handleEnterFrame);
			}
		}
		
		/**
		 * @private 
	 	*/
		protected function displayLogo():void
		{	
			var logo:Logo = new Logo();
			addChild(logo);
		}
		
		/**
		 * @private 
	 	*/
		protected function init3D():void
		{
			// Scene - we use InteractiveScene3D by default and we assume this for them since they're in the IDE
			createScene();
			dispatchEvent(new Event(SCENE_INIT));
		}
		
		protected function createScene():void
		{
			scene = new Scene3D();
			viewport = new Viewport3D(sceneWidth, sceneHeight, resizeWithStage, true, true, true);
			addChild(viewport);
		}
		
		/**
		 * @private 
	 	*/
		protected function createCamera(cameraChoice:String):void
		{
			switch(cameraChoice)
			{
				case "Free":
					currentCamera3D = freeCam = new FreeCamera3D();
				break;
				
				case "Target":
					currentCamera3D = targetCam = new Camera3D();
				break;
			}
			
			currentCamera3D.z = cameraZ;
			currentCamera3D.zoom = cameraZoom;
			currentCamera3D.focus = cameraFocus;
		}
		
		/**
		 * @private 
	 	*/
		override protected function alignStage():void
		{
			try
			{		
				//log.debug("alignStage width/height", (sceneWidth/2) + ", " + (sceneHeight/2));		
				mainCanvas.x = sceneWidth/2;//stage.stageWidth/2;
				mainCanvas.y = sceneHeight/2;//stage.stageHeight/2;

				updateScene();
				//scene.renderCamera( freeCam );
			}catch(e:Error)
			{
				//log.error("alignStage Error", e.message);
			}
		}
		
		/**
		 * @private 
	 	*/
		protected function handleTimerUpdate(e:TimerEvent):void
		{
			updateScene();
		}
		
		/**
		 * @private 
	 	*/
		protected function handleEnterFrame(e:Event):void
		{
			//trace("enter frame");
			updateScene();
		}
		
		/**
		 * @private 
	 	*/
		protected function updateScene():void
		{
			try
			{
				//scene.renderCamera( currentCamera3D );
				renderer.renderScene(scene, currentCamera3D, viewport);
			}catch(e:Error)
			{
				log.debug("updateScene error", e.message);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级电影全部在线观看高清| 欧美亚州韩日在线看免费版国语版| 香蕉久久一区二区不卡无毒影院| 日韩久久一区二区| 欧美国产丝袜视频| 中文欧美字幕免费| 中文字幕一区二区三区乱码在线| 久久久三级国产网站| 久久久精品tv| 欧美极品aⅴ影院| 国产精品二区一区二区aⅴ污介绍| 中文字幕在线观看不卡| 亚洲蜜臀av乱码久久精品 | 日韩亚洲国产中文字幕欧美| 欧美日韩中文字幕一区二区| 在线电影国产精品| 久久综合av免费| 中文字幕一区二区三区色视频| 中文字幕日本不卡| 亚洲成人资源在线| 久久不见久久见免费视频1| 国内久久精品视频| 97精品久久久久中文字幕 | 欧美日韩亚洲综合| 51精品久久久久久久蜜臀| 日韩免费电影一区| 1区2区3区精品视频| 一级精品视频在线观看宜春院 | 欧美专区亚洲专区| 欧美日韩国产一二三| 99久久777色| 99久久综合色| 欧美一区三区四区| 国产精华液一区二区三区| 欧美v日韩v国产v| 欧美影院午夜播放| 日韩精品视频网| 欧美aaaaaa午夜精品| 亚洲少妇中出一区| 欧美一区二区三区电影| 欧美图区在线视频| 久久久亚洲综合| 亚洲一区二区不卡免费| 国产精品亚洲午夜一区二区三区 | 欧美一区二区三区视频| 国产精品久久久久国产精品日日| 婷婷亚洲久悠悠色悠在线播放| 国产精品自拍在线| 欧美一级片免费看| 亚洲一区二区中文在线| 成人性生交大片免费看中文网站| 欧美福利电影网| 一区二区三区在线免费观看| 国产精品白丝av| 日韩精品专区在线| 亚洲第一搞黄网站| 97久久精品人人澡人人爽| 久久久精品中文字幕麻豆发布| 日本伊人精品一区二区三区观看方式| 成人动漫一区二区在线| 久久久久久免费毛片精品| 久久国内精品自在自线400部| 欧美色网一区二区| 亚洲免费观看高清完整版在线观看 | 欧美日韩国产一级片| 亚洲免费视频成人| 99riav一区二区三区| 最新日韩av在线| 成人av网站免费| 国产精品美女久久久久久久久| 国产一区二区三区观看| 日韩欧美国产精品一区| 免费精品视频最新在线| 在线不卡一区二区| 视频一区二区国产| 欧美疯狂做受xxxx富婆| 奇米影视在线99精品| 91精品国产手机| 亚洲电影中文字幕在线观看| 欧美高清一级片在线| 视频一区中文字幕国产| 制服丝袜成人动漫| 日韩精品一级中文字幕精品视频免费观看| 99免费精品视频| 一区二区三区欧美| 欧美亚洲综合色| 日韩高清欧美激情| 日韩欧美一区在线| 久久99国产精品免费| 国产日韩欧美一区二区三区综合| 国产酒店精品激情| 亚洲三级小视频| 欧美美女bb生活片| 久久9热精品视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 韩国一区二区在线观看| 国产女人水真多18毛片18精品视频| 国产传媒一区在线| 亚洲乱码中文字幕| 51精品视频一区二区三区| 国产综合成人久久大片91| 国产精品久久三区| 欧美精品久久久久久久多人混战| 青娱乐精品在线视频| 国产亚洲一区二区在线观看| 99re这里都是精品| 日韩激情视频在线观看| 国产亚洲欧美色| 91久久精品一区二区| 老司机精品视频线观看86| 中文字幕一区二区三| 91精品视频网| av一区二区三区| 日韩电影免费在线看| 国产喂奶挤奶一区二区三区| 欧美写真视频网站| 国产a区久久久| 日韩精品欧美精品| 中文字幕日韩av资源站| 日韩欧美中文字幕公布| av不卡免费电影| 久久国产精品99久久人人澡| 亚洲欧美另类小说| 精品国产电影一区二区| 精品婷婷伊人一区三区三| 国产99久久久精品| 麻豆国产欧美日韩综合精品二区| 亚洲精品乱码久久久久久日本蜜臀| 精品久久久久久亚洲综合网 | 欧美成人vps| 在线中文字幕不卡| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美军同video69gay| 偷拍一区二区三区| 欧美日韩成人一区| 成人黄色软件下载| 国产91综合一区在线观看| 蜜桃视频第一区免费观看| 亚洲国产成人av好男人在线观看| 亚洲色图在线视频| 国产精品欧美精品| 欧美激情一区三区| 精品久久国产97色综合| 91精品国产综合久久久久久久久久| 91玉足脚交白嫩脚丫在线播放| 国产高清亚洲一区| 国产精品一品视频| 国产精品一区久久久久| 国精产品一区一区三区mba桃花| 精品在线观看视频| 激情欧美一区二区| 国内成人精品2018免费看| 美洲天堂一区二卡三卡四卡视频| 天天综合天天做天天综合| 亚洲成人www| 日韩av在线免费观看不卡| 亚洲大片免费看| 蜜桃久久久久久久| 激情综合色播激情啊| 激情深爱一区二区| 国产91精品入口| 99免费精品视频| 精品视频全国免费看| 欧美色偷偷大香| 欧美一区二视频| 精品美女一区二区三区| 国产日韩欧美精品一区| 国产精品毛片久久久久久久| 日韩久久一区二区| 午夜a成v人精品| 久久国产精品露脸对白| 国产成人免费视频一区| 成人黄色软件下载| 欧美日本韩国一区二区三区视频| 欧美精品日韩一区| 久久久久久久免费视频了| 国产欧美视频一区二区| 一区二区三区丝袜| 午夜精品福利一区二区蜜股av| 美女诱惑一区二区| 国产成人福利片| 日本乱码高清不卡字幕| 日韩欧美综合一区| 欧美激情一区二区三区| 亚洲综合色噜噜狠狠| 日韩国产一区二| youjizz国产精品| 欧美精品三级在线观看| 国产日韩精品一区二区三区 | aaa国产一区| 欧美一区二区视频在线观看2022 | 成人av在线资源网| 欧美精品一二三| 国产精品沙发午睡系列990531| 亚洲福利一区二区| 成人99免费视频| 日韩欧美综合一区| 亚洲电影一区二区三区| 国产成人在线看| 91精品黄色片免费大全|