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

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

?? pv3dscene3d.as.svn-base

?? ActionScript寫的3D圖片展示功能
?? SVN-BASE
字號:
?/**
* @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一区二区三区免费野_久草精品视频
欧美日韩在线观看一区二区| 欧美一区二区成人| 五月天激情小说综合| 久久久久九九视频| 91精品黄色片免费大全| 欧美精品色综合| 在线视频亚洲一区| 99国产精品久久| 成人18视频在线播放| av欧美精品.com| 91麻豆高清视频| 欧美视频中文一区二区三区在线观看 | 午夜婷婷国产麻豆精品| 欧美一区二区三区在线观看 | 欧美变态tickling挠脚心| 日本一区中文字幕| 91精品国产一区二区| 国产精品欧美一区二区三区| 一区二区成人在线视频| 成人av手机在线观看| 韩国视频一区二区| 成人免费一区二区三区视频| 26uuu亚洲综合色| 精品一区二区免费| 日韩高清一区二区| 国产精品素人视频| 日韩精品一区二区三区中文不卡| 国产一区在线观看麻豆| 国产成人三级在线观看| 欧美亚洲日本国产| 国产亚洲午夜高清国产拍精品| 亚洲乱码日产精品bd| 国产东北露脸精品视频| 欧美狂野另类xxxxoooo| 综合av第一页| 色88888久久久久久影院野外| 中文字幕佐山爱一区二区免费| 成年人网站91| 美女网站一区二区| 91色porny| 国产女人18毛片水真多成人如厕| 亚洲成人动漫av| 一本色道久久综合精品竹菊| 国产日韩影视精品| 蜜臀久久久久久久| 欧美一级免费大片| 亚洲午夜国产一区99re久久| 色欧美乱欧美15图片| 国产精品国产自产拍高清av王其| 韩国中文字幕2020精品| 日韩欧美成人一区二区| 日韩精品一区第一页| 欧美色中文字幕| 日韩国产欧美在线观看| 这里只有精品电影| 精品亚洲成a人在线观看| 精品国产一区二区三区不卡| 激情偷乱视频一区二区三区| 欧美电视剧在线看免费| 久久国产麻豆精品| 国产精品美女久久久久久| 成人一道本在线| 亚洲欧美日韩系列| 欧美日本一道本在线视频| 日本特黄久久久高潮| 久久精品免费在线观看| www.爱久久.com| 亚洲综合丁香婷婷六月香| 欧美一区二区三区在线观看| 国产成人精品午夜视频免费 | 蜜桃av一区二区| 99久久免费精品高清特色大片| 日韩女优制服丝袜电影| 久久久久久久网| 国产一区二区三区免费| 欧美一区二区三区系列电影| 日韩成人一区二区三区在线观看| 欧美日韩成人激情| 风流少妇一区二区| 日韩av高清在线观看| 亚洲视频在线一区二区| 日韩无一区二区| 欧洲生活片亚洲生活在线观看| 国产在线视视频有精品| 日本精品视频一区二区| 亚洲美女淫视频| 国产99一区视频免费| 亚洲成av人**亚洲成av**| 国产欧美一区二区精品秋霞影院| 欧美揉bbbbb揉bbbbb| 白白色 亚洲乱淫| 激情文学综合丁香| 免费亚洲电影在线| 午夜欧美视频在线观看| 综合亚洲深深色噜噜狠狠网站| 日韩免费在线观看| 欧美一区二区在线观看| 91丨九色丨蝌蚪丨老版| 成人做爰69片免费看网站| 亚洲妇女屁股眼交7| 亚洲天天做日日做天天谢日日欢| 精品久久久久久久人人人人传媒 | 欧美一区二区三区啪啪| 一本色道综合亚洲| 不卡av免费在线观看| 寂寞少妇一区二区三区| 日韩福利视频导航| 午夜精品久久久久影视| 亚洲国产裸拍裸体视频在线观看乱了| 国产日韩欧美综合在线| 久久老女人爱爱| 久久久电影一区二区三区| 欧美一级夜夜爽| 日韩欧美国产综合在线一区二区三区 | 日韩精品在线一区| 91精品免费观看| 3atv在线一区二区三区| 欧美一区二区在线视频| 欧美日韩大陆一区二区| 欧美精选在线播放| 欧美人体做爰大胆视频| 7777精品伊人久久久大香线蕉的 | 精品久久一二三区| 精品美女被调教视频大全网站| 91精品国产综合久久久蜜臀图片| 欧美精品一二三| 91精品国产综合久久久久久久久久| 欧美丰满少妇xxxxx高潮对白| 在线综合亚洲欧美在线视频| 欧美日韩午夜精品| 精品国产乱码91久久久久久网站| 久久影视一区二区| 中文字幕乱码日本亚洲一区二区 | 欧美aⅴ一区二区三区视频| 日韩电影在线看| 黑人巨大精品欧美黑白配亚洲| 国产黑丝在线一区二区三区| 不卡在线观看av| 欧美色图天堂网| 日韩欧美中文字幕精品| 国产亚洲精品资源在线26u| 国产精品久久久久影院老司 | 国产精品久久毛片av大全日韩| 亚洲三级在线免费| 亚洲va欧美va人人爽| 久久国产精品无码网站| 成人精品视频一区| 欧美色男人天堂| 精品国内片67194| 亚洲欧美日韩在线| 蜜桃91丨九色丨蝌蚪91桃色| 成人激情免费视频| 欧美日韩免费电影| 久久精品人人做人人综合 | 成人精品亚洲人成在线| 欧美伊人久久久久久午夜久久久久| 555夜色666亚洲国产免| 国产精品美女一区二区| 日本亚洲一区二区| 99国产精品久久久久久久久久| 91精品国产综合久久久蜜臀图片| 日本一区二区三区四区| 性做久久久久久久免费看| 国产高清精品网站| 9191精品国产综合久久久久久| 欧美激情自拍偷拍| 免费成人你懂的| 欧美午夜一区二区三区| 国产欧美一区二区三区网站| 日韩av在线播放中文字幕| 不卡影院免费观看| 久久在线观看免费| 日韩av一级片| 欧美日韩在线免费视频| 亚洲人成在线观看一区二区| 国产乱子伦视频一区二区三区| 欧美精品自拍偷拍| 一区二区三区日韩精品| 丁香六月综合激情| 久久久久国产精品免费免费搜索| 婷婷开心久久网| 欧美性一区二区| 亚洲欧美日韩人成在线播放| 成人激情电影免费在线观看| 久久蜜桃av一区二区天堂| 精品亚洲国产成人av制服丝袜| 日韩欧美一区二区三区在线| 亚洲超丰满肉感bbw| 欧美日韩中文精品| 亚洲一区二区三区四区中文字幕| 99精品国产热久久91蜜凸| 国产精品女上位| 丁香六月综合激情| 中文字幕欧美激情一区| 国产成人精品免费网站| 久久久久久免费网| 成人美女在线观看| 亚洲视频精选在线| 在线视频国内自拍亚洲视频| 亚洲黄色片在线观看|