⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psscontentcontroler.as

📁 国外强大的xml相册
💻 AS
字号:
// import MenuXMLAssembler class
import pssclasses.splitpanel.leftmenu.*;
//     DrawPrimitive
import pssclasses.*;
//import albumPhotoBuilder
import pssclasses.photocontainers.*;
//***********************PSSContentControler class**************************
import pssclasses.splitpanel.*;
class PSSContentControler {
	//************define attributes****************
	//browser component
	private var BROWSER:MovieClip;
	// mylty content holder
	private var MULTYHOLDER:MovieClip;
	// photo holder
	private var PHOTOHOLDER:MovieClip;
	// left menu
	private var PARTMENU:MovieClip;
	//scroll panel content container
	private var CONTENTCONTAINER:MovieClip;
	//background content holder
	private var SCROLLPANEBG:MovieClip;
	// scrollpanel
	private var SCROLLPANE:MovieClip;
	//holders
	private var HOLDERSARR:Array;
	private var PlayMenu:MovieClip;
	//parts album containers depth
	private var partsAlbumsID:Number = 0;
	private var photosID:Number = 1;
	// array with part and albums
	private var PartsArray:Array;
	private var AlbumsArray:Array;
	// parts containers
	private var PartContainersArr:Array;
	//preloader
	private var preloader:MovieClip;
	private var preloaderLincageName:String = "preloaderLitle";
	private var preloaderName:String = "preloaderLitle_mc";
	private var preloaderDepth:Number = 50;
	//define album movie preview
	private var AlbumsPreview:MovieClip;
	private var AlbumsPreviewLincageName:String;
	private var AlbumsPreviewName:String = "albumprev_";
	private var AlbumsPreviewStartDepth:Number = 0;
	//************************BackGround for album holder******************
	// ********BGArea***************
	private var BGArea:MovieClip;
	private var BGAreaName:String = "BGArea_mc";
	private var BGAreaDepth:Number = 0;
	private var BGAreaX:Number = 0;
	private var BGAreaY:Number = 0;
	private var BGAreaW:Number = 200;
	private var BGAreaH:Number = 200;
	//BGColor
	private var BGColorAlpha:Boolean = false;
	//B1B1B1
	private var BGColor:Number = 0x00FFB0B0;
	//SHOVING PARTS PART ALBUM
	private var SHOVING:String;
	// attributes albumID partID container
	private var SHOWDATA:Object = new Object();
	//*****************PHOTO HOLDER BUILDER AND PART HEADER BUILDER CLASSES*********
	//*************************photoPartAlbum container
	private var newPhotoContainer:Object;
	// ************************photo Container
	private var newPhotoPrevContainer:Object;
	// ***********************AlbumHeaderBuilder class
	private var newAlbumHeader:Object;
	//************************************define metods*****************
	public function PSSContentControler() {
	}
	//**********************set content holders****************************
	public function setScrollPane(__place:MovieClip):Void {
		SCROLLPANE = __place;
		SCROLLPANEBG = __place.BGArea_mc;
		BROWSER = __place._parent._parent;
		PlayMenu = BROWSER.footer_mc.playMenu_mc;
		setScrollPaneContentHolder(SCROLLPANE.PaneContent_mc);
	}
	private function setScrollPaneContentHolder(holderCont:MovieClip):Void {
		CONTENTCONTAINER = holderCont;
	}
	//****end*************set content holders****************************
	//*****************************set Parts And Album Array*********************
	public function setPartsAndAlbumArray(partsAr:Array, albumsAr:Array):Void {
		PartsArray = partsAr;
		AlbumsArray = albumsAr;
		//**********************set to play menu part data*******************  
		BROWSER.footer_mc.playMenu_mc.setPartsDataArray(PartsArray, AlbumsArray);
		//*******end**********set to play menu part data*******************
	}
	//*****************************set LeftMenu********************************
	public function setLeftMenu(menu:MovieClip):Void {
		PARTMENU = menu;
	}
	//************************CREATE PARTS CONTAINER********************************
	// create parts list
	public function createPartsList(partIndex:Number):Void {
		var partIndex:Number = partIndex;
		var showPartsHeader:Boolean = false;
		// end set to scrol pan data
		var partsCount:Number = partIndex;
		partsCount++;
		if (partIndex == undefined) {
			partIndex = 0;
			partsCount = PartsArray.length;
			showPartsHeader = true;
		} else {
			//**********************set to play menu part data*******************  
			BROWSER.footer_mc.playMenu_mc.setPartIndex(partIndex);
			//*******end**********set to play menu part data*******************
		}
		//******************get data from part menu***************                
		var partDataArr:Array = PARTMENU.getShowData();
		//***end**********get data from part menu***************
		var newPartContainer:MovieClip;
		PartContainersArr = new Array();
		var tempHold:MovieClip = CONTENTCONTAINER.createEmptyMovieClip("multyHolder_mc", 0);
		tempHold.cacheAsBitmap = true;
		var partHolderY:Number = 0;
		// ***********************AlbumHeaderBuilder class
		newAlbumHeader = new AlbumHeaderBuilder(tempHold);
		var headerMC:Array = new Array();
		//*********************create parts**************************
		for (var i = partIndex; i<partsCount; i++) {
			var partObject:Object = PartsArray[i];
			partHolderY += 2;
			if (showPartsHeader) {
				//*************AlbumHeaderBuilder class************
				// set part object
				newAlbumHeader.setPartObject(partObject);
				//create new header
				headerMC[i] = newAlbumHeader.createPartHeader();
				headerMC[i]._y += partHolderY;
				//*********end****AlbumHeaderBuilder class************
				partHolderY += headerMC[i]._height+2;
			}
			PartContainersArr[i] = createPart(i, tempHold);
			PartContainersArr[i]._y = partHolderY;
			partHolderY += PartContainersArr[i]._height+20;
		}
		//*****end************create parts**************************
		// delete newAlbumHeader
		//**************resize scroll panel***************
		//SCROLLPANE.dynResizeWidth();
		delete newAlbumHeader;
		// unblock menu
		//PlayMenu.unblock();
	}
	// create part
	private function createPart(partIndex:Number, multyHolder:MovieClip):MovieClip {
		var partObject:Object = PartsArray[partIndex];
		var albumArray:Array = AlbumsArray[partIndex];
		var albumsCount:Number = albumArray.length;
		var albumObject:Object;
		var newPartContainer:MovieClip;
		//*****************PHOTO HOLDER BUILDER AND PART HEADER BUILDER CLASSES*********
		//*************************photo container
		newPhotoContainer = new AlbumPhotoBuilder();
		//****end*******PHOTO HOLDER BUILDER AND PART HEADER BUILDER CLASSES*********
		//************************create part container
		newPartContainer = createMultyContentHolder(partIndex, multyHolder);
		//**end******************create part container
		//partObject.name
		//partObject.id
		//trace(partObject.id);
		for (var i = 0; i<albumsCount; i++) {
			albumObject = albumArray[i];
			// set part index
			albumObject.p_index = partObject.index;
			albumObject.p_name = partObject.name;
			// create photo holder and return to leftmenu width and holder path
			PARTMENU.setHolderWidth(newPhotoContainer.createHolder(newPartContainer, albumObject));
		}
		//**************resize scroll panel***************
		SCROLLPANE.dynResizeWidth(true);
		// delete newPhotoContainer
		delete newPhotoContainer;
		// return container
		return newPartContainer;
	}
	//*********************************CREATE PHOTO LIST*************************************
	public function createPhotosList(partID:Number, albumID:Number, partIndex:Number):Void {
		//**********************set to play menu part data*******************  
		BROWSER.footer_mc.playMenu_mc.setAlbumData(partID, albumID, partIndex);
		//BROWSER.footer_mc.playMenu_mc.showPreloader();
		//*******end**********set to play menu part data*******************
		var RemClip:MovieClip = CONTENTCONTAINER.getInstanceAtDepth(0);
		if (RemClip) {
			RemClip.removeMovieClip();
		}
		var tempHold:MovieClip = CONTENTCONTAINER.createEmptyMovieClip("multyHolder_mc", 0);
		tempHold.cacheAsBitmap = true;
		var partObject:Object = PartsArray[partIndex];
		var albumArray:Array = AlbumsArray[partIndex];
		var photosArray:Array = new Array();
		var photoObject:Object = new Object();
		var photoCount:Number;
		var albumObject:Object;
		var newPartContainer:MovieClip;
		var _PARTMENU:MovieClip = PARTMENU;
		var _BROWSER:MovieClip = BROWSER;
		var _PlayMenu:MovieClip = PlayMenu;
		_PlayMenu.block();
		var _SCROLLPANE:MovieClip = SCROLLPANE;
		var PartIndex:Number = partIndex;
		//**************************************LOAD PHOTOS XML****************************
		// ***********************attach preloader for left menu*****************************
		var preloader:MovieClip = SCROLLPANE.attachMovie(preloaderLincageName, preloaderName, preloaderDepth);
		preloader._xscale = 120;
		preloader._yscale = 120;
		preloader._x = (SCROLLPANEBG._width-preloader._width)/2;
		preloader._y = (SCROLLPANEBG._height-preloader._height)/2;
		///xml
		if (!MenuXMLAssembler.getPhotosIsLoaded()) {
			MenuXMLAssembler.loadPhotosXML(partID, albumID);
			//var intervalIndex:Number = setInterval(chechPhotoXML, 50);
			MenuXMLAssembler.setCalBackAction(chechPhotoXML, this);
		} else {
			chechPhotoXML();
			_PlayMenu.unblock();
		}
		function chechPhotoXML():Void {
			if (MenuXMLAssembler.getPhotosIsLoaded()) {
				_PlayMenu.unblock();
				//clearInterval(intervalIndex);
				// remove preloader
				preloader.removeMovieClip();
				//_BROWSER.footer_mc.playMenu_mc.hidePreloader();
				// end remove preloader
				photosArray = MenuXMLAssembler.getPhotosArray();
				//****************************set to play menu photos array with photo object************
				_BROWSER.footer_mc.playMenu_mc.setPhotosArray(photosArray);
				//****end******************set to play menu photos array with photo object************
				//*****************PHOTO HOLDER BUILDER AND PART HEADER BUILDER CLASSES*********
				//*************************photo container
				var newPhotoPrevContainer:Object = new PhotoBuilder();
				newPhotoPrevContainer.setBrowser(BROWSER)
				//****end*******PHOTO HOLDER BUILDER AND PART HEADER BUILDER CLASSES*********
				//************************create part container
				newPartContainer = tempHold.createEmptyMovieClip("multyContent_0", 0);
				newPartContainer.cacheAsBitmap = true;
				//**end******************create part container
				photoCount = photosArray.length;
				for (var i = 0; i<photoCount; i++) {
					photoObject = photosArray[i];
					photoObject.index = i;
					// create photo holder and return to leftmenu width and holder path
					_PARTMENU.setHolderWidth(newPhotoPrevContainer.createHolder(newPartContainer, photoObject, photosArray));
				}
				//**************resize scroll panel***************
				_SCROLLPANE.dynResizeWidth(true);
				//*****************END IF**********************
			}
		}
		// unblock menu
		PlayMenu.unblock();
		// delete newPhotoPrevContainer
		delete newPhotoPrevContainer;
	}
	//****END****************CREATE PARTS CONTAINER********************************
	private function createMultyContentHolder(id:Number, __place:MovieClip):MovieClip {
		var tempHolder:MovieClip = __place.createEmptyMovieClip("multyContent_"+id, id);
		tempHolder.cacheAsBitmap = true;
		return tempHolder;
	}
	//************************CREATE PHOTO HOLDER****************
	private function createPhotoHolder():MovieClip {
		var tempHolder:MovieClip = CONTENTCONTAINER.createEmptyMovieClip("multyContent_mc", 0);
		tempHolder.cacheAsBitmap = true;
		return tempHolder;
	}
	//*********************************MULTY CONTENT ATTACHING****************
	public function multyContent(lincageName:String, objectCounter:Number):Void {
		var objectName:String = "part_"+objectCounter;
		var objectDepth:Number = objectCounter;
		var objectBorn:MovieClip = MULTYHOLDER.attachMovie(lincageName, objectName, objectDepth);
		objectBorn.cacheAsBitmap = true;
		//********************dynamic resize when browser resizing************
		//		SCROLLPANE.dynResizeWidth()
	}
	// *********end*************class**********************
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -