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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pv3dcolladascene.as.svn-base

?? ActionScript寫的3D圖片展示功能
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
/**
* @author John Grden
*/
package org.papervision3d.core.components.as3.flash9 {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.events.TimerEvent;
	import flash.utils.Dictionary;
	import flash.utils.Timer;
	
	import org.papervision3d.core.components.as3.collections.MaterialsListItem;
	import org.papervision3d.core.components.as3.utils.ObjectController;
	import org.papervision3d.core.components.as3.utils.StageTools;
	import org.papervision3d.core.proto.MaterialObject3D;
	import org.papervision3d.events.FileLoadEvent;
	import org.papervision3d.materials.BitmapAssetMaterial;
	import org.papervision3d.materials.BitmapFileMaterial;
	import org.papervision3d.materials.BitmapMaterial;
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.materials.MovieAssetMaterial;
	import org.papervision3d.materials.MovieMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.parsers.DAE;
	
	import com.blitzagency.xray.logger.util.PropertyTools;
	
	import fl.data.SimpleDataProvider;	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/**
	* Dispatched when the collada file and materials have been completely parsed and loaded.
	* 
	* @eventType org.papervision3d.components.as3.flash9.PV3DColladaScene.SCENE_COMPLETE
	*/
	[Event(name="sceneComplete", type="flash.events.Event")]
	
	/**
	* Dispatched while the collada file is loading.  
	 * <p>Event carries 2 properties:
	 * <ul>
	 * <li>1.  bytesLoaded
	 * <li>2.  bytesTotal
	* </ul>
	 * </p>
	* @eventType org.papervision3d.components.as3.flash9.PV3DColladaScene.SCENE_LOAD_PROGRESS
	*/
	[Event(name="sceneLoadProgress", type="flash.events.Event")]
	
	/**
	* Dispatched when the collada object cannot load the file specified either because of security or non-existance
	* <p>
	 * provides a property called "message" which is the actual load error initially received.
	 * </p>
	* @eventType org.papervision3d.components.as3.flash9.PV3DColladaScene.SCENE_LOAD_ERROR
	*/
	[Event(name="sceneLoadError", type="flash.events.Event")]
	
	/**
	 * PV3DColladaScene is the main class for the Flash CS3 COLLADA component.
	 * </p>
	 * <p>It's main purpose is to provide the developer/designer with drag and drop functionality to render a COLLADA scene with a camera and Scene3D.  Full access to a materials list and objects
	 * is given through the api:
	 * <ul>
	 * <li>scene</li>
	 * <li>camera</li>
	 * <li>collada</li>
	 * </ul>
	 * </p>
	 * <p>The component includes a Custom Panel via Windows>other panels>PV3DPanel</P>
	 * <p>To use the component, drag it from the components list on to the stage in the Flash IDE.  First, set the local directory by clicking on the folder icon in the Panel.
	 * Then, select the DAE (COLLADA) file to use.  At this point, you *should* see your 3D scene being rendered.
	 * </p>
	 * <p>You might have to play with the scale if you're not seeing the scene or camera Z (move it out more).
	 * </p>
	 * <p>If you textured your models with bitmaps in your 3D application, COLLADA retains those file paths and Papervision3D will attempt to dynamically load them for you IF you don't 
	 * provide a materials list.  So, there is a good chance you'll see your scene fully textured once you've provided the local directory and file paths.
	 * </p>
	 * <p>If you provide a MaterialsList via the property inspector, there are 3 types supported:
	 * <ul>
	 * <li>Bitmap: BitmapAssetMaterial - a bitmap defined in the library</li>
	 * <li>MovieClip: MovieAssetMaterial - a MovieClip defined in the library</li>
	 * <li>File: BitmapFileMaterial - an external bitmap file</li>
	 * </ul>
	 * 
	 * </p>
	 * @see org.papervision3d.core.components.as3.collections.MaterialsListItem
	 */	
	public class PV3DColladaScene extends PV3DScene3D
	{
		
		/**
		* @eventType sceneComplete
		*/		
		public static const SCENE_COMPLETE	:String = "sceneComplete";
		
		/**
		* @eventType sceneLoadProgress
		*/		
		public static const SCENE_LOAD_PROGRESS	:String = "sceneLoadProgress";
		
		/**
		* @eventType sceneLoadError
		*/		
		public static const SCENE_LOAD_ERROR	:String = "sceneLoadError";
		
		/**
		* A boolean flag letting the component know whether or not to show trace output
		*/		
		public var debug						:Boolean = true;
		
				
		private var _materialsList						:MaterialsList = new MaterialsList();
		/**
		* The MaterialsList object that is used by the component if one is provided.  This is set at design-time and is read-only at runtime
		*/
		public function get materialsList():MaterialsList { return _materialsList; }
		
		private var _col						:DAE;		
		private var _colladaFile				:String = "";
		private var _localPath					:String = "";
		private var _sceneScale					:Number = 0;
		private var rebuildCollada				:Boolean = false;
		private var _rotationList				:Object = {pitch:0, yaw:0, roll:0};
		private var _extMaterials				:SimpleDataProvider = new SimpleDataProvider();
		private var fileLocation				:String = ""; 
		
		private var materialsQue				:Dictionary = new Dictionary();
		
		private var previewTimer				:Timer = new Timer(25,0);
		
		/**
		 * @private
		 * @note Called when the component is actually running in a compiled SWF at runtime, rather than LivePreview
		 * @param p_piSetting
		 * 
		 */	
		override public function set componentInspectorSetting(p_piSetting:Boolean):void
		{
			_componentInspectorSetting = p_piSetting;
			if(debug) log.debug("componentInspectorSetting", p_piSetting);
			if(!_componentInspectorSetting) 
			{
				initApp();
				if(debug) log.debug("colladaFile?", colladaFile);
				if(debug) log.debug("isLivePreview?", isLivePreview);
				
				// just start by building materials and it'll light up from there.
				createMaterials();
			}
		}
		
		/**
		 * @private
		 */	
		override public function get componentInspectorSetting():Boolean
		{
			return _componentInspectorSetting;
		}
		
		/**
		 * The Papervision3D Collada object created for the component's use.
		 * @return Collada object
		 * 
		 */		
		public function get collada():DAE
		{
			return _col;
		}
		
		public function set collada(col:DAE):void
		{
			_col = col;
		}
		
		/**
		 * this fires after all of the properties have been updated.  The Property Inspector (pi) sets all properties for a component even if only 1 is updated.
		 * So, the modified LivePreviewParent I created makes this call to propertyInspectorSetting and passes a flag to let the component know that's its
		 * ok to proceed with dealing with the changes.
		 * 
		 * Changes have to be dealt with in a specific order.  Materials, then collada WITH scale passed in the constructor, then rotation after collada is completely loaded.
		 * @private
		 */	
		override public function set propertyInspectorSetting(p_piSetting:Boolean):void
		{
			trace(0);
			_propertyInspectorSetting = p_piSetting;
			if(!p_piSetting)
			{
				trace(1);
				// if we haven't initialized yet, do so
				if(!isAppInitialized) initApp();
				trace(2, isLivePreview);
				if(debug) log.debug("********** isLivePreview?", isLivePreview);
				trace(3, rebuildCollada, collada == null);
				if(rebuildCollada || collada == null) 
				{
					if(debug) log.debug("GO CREATE MATERIALS");
					createMaterials();
				}else
				{
					if(debug) log.debug("GO update collada");
					finalizeColladaLoad();
				}
			}
			if(debug) log.debug("propertyInspectorSetting", p_piSetting);
		}
		
		/**
		 * @private
		 */	
		override public function get propertyInspectorSetting():Boolean
		{
			return _propertyInspectorSetting;
		}
		
		[Inspectable (name="Scene Rotation", defaultValue=false, type="Boolean")]
		/**
		* Boolean flag indicating whether or not to add mouse drag/rotation abilities to the collada container.  Clicking 
		 * yes will allow you to use simple dragging to rotate the scene.
		*/		
		public var sceneRotation					:Boolean = true;
			
		[Inspectable (type="String", defaultValue="", name="Local Directory") ]
		/**
		 * @private
		 */	
		public function set localPath(p_localPath:String):void
		{
			if(p_localPath != _localPath && p_localPath.length > 0) 
			{
				p_localPath = p_localPath.split("\\").join("/");
				_localPath = p_localPath.substring(p_localPath.length-1) == "/" ?  p_localPath : p_localPath + "/";
			}
		}
		/**
		 * @private
		 */	
		public function get localPath():String
		{
			return _localPath;
		}
				
		[Inspectable (type="String", defaultValue="", name="Collada File") ]
		/**
		 * A relative reference to the external collada file to be used
		 * @return String 
		 * 
		 */	
		public function set colladaFile(p_colladaFile:String):void
		{
			if(_colladaFile != p_colladaFile && p_colladaFile.length > 0) 
			{
				if(debug) log.debug("set colladaFile", p_colladaFile);
				rebuildCollada = true;
				_colladaFile = p_colladaFile;
			}
		}
	
		public function get colladaFile():String
		{
			return _colladaFile;
		}
		
		[Collection(name="Materials List", collectionClass="fl.data.SimpleDataProvider", collectionItem="org.papervision3d.core.components.as3.collections.MaterialsListItem", identifier="item")]
		/**
		 * @private
		 */	
		public function set extMaterials(p_extMaterials:SimpleDataProvider):void
		{
			if(p_extMaterials.dataProvider.length > 0 && !checkMaterialListsMatch(extMaterials, p_extMaterials)) 
			{
				if(debug) log.debug("****** COMPARE", checkMaterialListsMatch(extMaterials, p_extMaterials));
				_extMaterials = p_extMaterials;
				rebuildCollada = true;
			}
		}
		/**
		 * @private
		 */	
		public function get extMaterials():SimpleDataProvider { return _extMaterials; }
		
		[Inspectable (type="Number", defaultValue=.01, name="Scale") ]
		/**
		 * @private
		 */	
		public function set sceneScale(p_scale:Number):void
		{
			if(p_scale == _sceneScale) return;
			_sceneScale = p_scale;
			if(isLivePreview && (collada != null && colladaFile.length > 0)) 
			{
				// force an object redraw
				rebuildCollada = true;
			}
		}
		/**
		 * @private
		 */	
		public function get sceneScale():Number
		{
			return _sceneScale;
		}
		
		[Inspectable (type="Object", defaultValue="pitch:0, yaw:0, roll:0", name="Initial Rotation") ]
		/**
		 * @private
		 */	
		public function set rotationList(p_rotation:Object):void
		{
			_rotationList = p_rotation;
		}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久久久免费看农村| 国产精品久久久久影院老司 | 欧美日韩一区二区在线视频| 亚洲一区二区三区免费视频| 91精品国产黑色紧身裤美女| 国产精品伊人色| 精品国产一区二区三区忘忧草| 成人一区二区在线观看| 亚洲国产精品精华液网站| 2020国产精品自拍| 欧美疯狂做受xxxx富婆| 国产成人丝袜美腿| 亚洲国产精品国自产拍av| 91麻豆精品国产| 不卡电影一区二区三区| 男女男精品网站| 亚洲美腿欧美偷拍| 欧美国产精品一区二区| 日韩一区二区三| 95精品视频在线| 丁香一区二区三区| 久久精品国产精品亚洲红杏 | 国产精品理论在线观看| 欧美高清一级片在线| jizz一区二区| 成人app下载| 久久av中文字幕片| 亚洲欧洲综合另类在线| 久久综合久久综合久久| 欧美在线视频全部完| 91麻豆精东视频| 国产成人午夜电影网| 亚洲图片欧美一区| 亚洲一区二区高清| 亚洲人成精品久久久久久| 国产精品第一页第二页第三页| 精品少妇一区二区三区视频免付费| 欧美性大战久久久久久久蜜臀| 91一区二区在线| 国产精品亚洲人在线观看| 国产精品黄色在线观看 | 尤物av一区二区| 日韩一区日韩二区| 中文字幕国产一区二区| 久久久久久久久伊人| 国产清纯白嫩初高生在线观看91| 日韩欧美一级二级三级| 精品国产免费久久| 精品国内二区三区| 欧美va亚洲va香蕉在线| 久久综合999| 精品国产一区久久| 日韩精品中午字幕| 日韩三级免费观看| 精品奇米国产一区二区三区| 精品蜜桃在线看| 日韩久久精品一区| 国产精品私人自拍| 亚洲欧美在线另类| 亚洲成人av一区二区三区| 亚洲国产成人av| 婷婷综合久久一区二区三区| 看国产成人h片视频| 国产在线一区二区| 久久狠狠亚洲综合| 国产伦理精品不卡| www.日本不卡| 欧美日韩美少妇| 91超碰这里只有精品国产| 欧美性色欧美a在线播放| 欧美大片在线观看| 26uuu国产在线精品一区二区| 国产日韩欧美综合在线| 国产精品久久久久影院亚瑟| 亚洲女子a中天字幕| 日韩va欧美va亚洲va久久| 青青草国产精品97视觉盛宴| 成人一区二区三区| 色综合网色综合| 欧美日本在线播放| 2024国产精品视频| 中文乱码免费一区二区| 精品国产一区二区三区av性色| 国产精品丝袜91| 亚洲电影在线播放| 国产精品91一区二区| 91理论电影在线观看| 91麻豆国产在线观看| 日韩亚洲欧美高清| 精品伦理精品一区| 亚洲精品乱码久久久久久| 蜜臀久久久久久久| 国产精品正在播放| 欧美片网站yy| 国产日韩欧美综合在线| 日本欧洲一区二区| 成人aa视频在线观看| 精品一区二区日韩| 色婷婷国产精品综合在线观看| 91精品国产综合久久精品图片| 国产精品毛片大码女人| 五月激情六月综合| 美日韩一级片在线观看| 一本一道久久a久久精品 | 在线观看网站黄不卡| 国产网站一区二区三区| 亚洲国产美女搞黄色| heyzo一本久久综合| 日韩一区二区免费在线观看| 国产日韩三级在线| 国产一区二区主播在线| 一本大道久久a久久综合| 国产人成一区二区三区影院| 香蕉加勒比综合久久| 国产成人精品影院| 日韩美女一区二区三区四区| 亚洲一区二区三区中文字幕 | gogo大胆日本视频一区| 精品国产乱码久久久久久影片| 午夜久久久影院| 99国产精品99久久久久久| 日韩免费一区二区| 亚洲一区二区三区在线看| jvid福利写真一区二区三区| 久久这里只精品最新地址| 午夜视频久久久久久| 99国产精品久| 国产精品丝袜91| 国产精品1区2区| 欧美日韩国产一级| 久久久久国色av免费看影院| 美女视频黄 久久| 欧美日韩中文字幕一区| 亚洲国产视频网站| 99久久综合狠狠综合久久| 中文字幕亚洲电影| 成人高清在线视频| 国产精品久久久久久久久晋中 | 国产精品三级av在线播放| 亚洲欧洲在线观看av| 99天天综合性| 国产精品久久综合| 色综合中文字幕| 亚洲免费毛片网站| 91久久国产最好的精华液| 亚洲日本在线视频观看| 成人小视频在线观看| 中文字幕一区二区在线播放| 成人国产精品免费观看动漫| 亚洲蜜臀av乱码久久精品| 91视频.com| 亚洲一区免费视频| 欧美日韩大陆一区二区| 丝袜a∨在线一区二区三区不卡| 777午夜精品免费视频| 日韩中文字幕不卡| 久久婷婷国产综合精品青草| 国产精品一区二区果冻传媒| 国产精品欧美经典| 色综合色综合色综合| 亚洲情趣在线观看| 欧美高清视频一二三区| 天天做天天摸天天爽国产一区| 制服视频三区第一页精品| 免费在线成人网| 久久九九影视网| 99精品视频一区| 亚洲在线一区二区三区| 欧美一级欧美三级在线观看| 久久av资源网| 樱花影视一区二区| 欧美日韩高清一区二区三区| 狠狠色狠狠色合久久伊人| 国产欧美日韩综合| 99久久久久久| 亚洲一线二线三线视频| 欧美一区二区久久久| 成人黄页毛片网站| 一区二区三区欧美日韩| 欧美草草影院在线视频| av亚洲精华国产精华| 午夜精品久久久久影视| 久久先锋影音av| 粉嫩久久99精品久久久久久夜| 亚洲图片欧美色图| 精品久久一区二区三区| 91黄色免费看| 久久精品国产一区二区| 亚洲免费在线视频一区 二区| 337p亚洲精品色噜噜| 日韩中文字幕一区二区三区| 中文字幕一区二区三区视频| 欧美精品一级二级三级| 高清不卡在线观看| 亚洲第一主播视频| 成人免费视频在线观看| 日韩一级在线观看| 欧美在线免费视屏| 国产麻豆精品theporn| 一区二区免费在线|