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

📄 leftmenu.as

📁 国外强大的xml相册
💻 AS
📖 第 1 页 / 共 2 页
字号:
import flash.geom.Rectangle;
// import WorkersPhotoBuilder class
import pssclasses.photocontainers.*;
//     DrawPrimitive
import pssclasses.*;
//********import************PSSContentControler class**********
import pssclasses.splitpanel.*;
//***********************leftMenu class*************************
import pssclasses.splitpanel.leftmenu.*;
class LeftMenu extends MovieClip {
	//**************define attributes*************
	//*******************movie Inside*********************
	// ********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;
	//BGColor
	private var BGColorAlpha:Boolean = false;
	//B1B1B1
	private var BGColor:Number = 0x00C9C9C9;
	//*************mousewheelface
	private var MouseFace:MovieClip;
	private var MouseFaceName:String = "MouseFace";
	private var MouseFaceDepth:Number = 3;
	//MouseFaceColor
	private var MouseFaceAlpha:Boolean = true;
	private var MouseFaceColor:Number = 0x00666666;
	// ********MenuContainer***************
	private var MenuContainer:MovieClip;
	private var MenuContainerName:String = "MenuContainer_mc";
	private var MenuContainerDepth:Number = 1;
	private var MenuContainerX:Number = 0;
	private var MenuContainerY:Number = 0;
	//********************up down buttons*********************
	//UP
	private var UPScroll:MovieClip;
	private var UPScrollLincageName:String = "leftMenuUP";
	private var UPScrollName:String = "leftMenuUP_mc";
	private var UPScrollDepth:Number = 4;
	private var UPScrollX:Number = 0;
	private var UPScrollY:Number = 0;
	//DOWN
	private var DOWNScroll:MovieClip;
	private var DOWNScrollLincageName:String = "leftMenuDOWN";
	private var DOWNScrollName:String = "leftMenuDOWN_mc";
	private var DOWNScrollDepth:Number = 5;
	private var DOWNScrollX:Number = 0;
	private var DOWNScrollY:Number = 0;
	//preloader
	private var preloader:MovieClip;
	private var preloaderLincageName:String = "preloaderLitle";
	private var preloaderName:String = "preloaderLitle_mc";
	private var preloaderDepth:Number = 10;
	//*****************menu buttons******************
	private static var partsArray:Array;
	private static var albumsArray:Array;
	private var partContainersArray:Array;
	private static var GlobPartIndex:Number;
	private static var GlobAlbumIndex:Number;
	// parts button
	private var PartsButArray:Array;
	private var PartButton:MovieClip;
	private var PartButtonLincageName:String = "partButton";
	private var PartButtonName:String = "partBut_mc";
	private var partContainer:MovieClip;
	//***end**********menu buttons******************
	// deactiv mousewheel
	private var WHEELACTIV:Boolean = false;
	//**************variables*******************
	private var __this:MovieClip;
	private var CONTENTHOLDER:MovieClip;
	private var BROWSER:MovieClip;
	private var ScrollPanel:MovieClip;
	// attributes memory show photos data
	private var SHOWING:String = "PARTS";
	private var SHOWDATA:Object = new Object();
	private var HoldersArray:Array;
	private var newPSSContentControler:Object;
	private var rebuild:Boolean = false;
	private var OPENPART:Number;
	private var PARTID:Number;
	private var ALBUMID:Number;
	private var BigPhotoHolder:MovieClip;
	//
	private var DynamicPart:Boolean = false;
	private var DynamivPartIndex:Number;
	//***************content Rectangle mask****************
	private var contentMask:Rectangle;
	//*****end******content Rectangle mask****************
	//**************define metods***************
	private function LeftMenu() {
		__this = this;
		__this.cacheAsBitmap = true;
		CONTENTHOLDER = __this._parent;
		BROWSER = this._parent._parent;
		// set left menu to browser
		BROWSER.setLeftMenu(__this);
		//**********************set to play menu part data*******************  
		BROWSER.footer_mc.playMenu_mc.setLeftMenu(__this);
		//*******end**********set to play menu part data*******************
		//build leftMenu
		buildLeftMenu();
		//PSSContentControler
		newPSSContentControler = new PSSContentControler();
		// array with holders
		HoldersArray = new Array();
	}
	//*****************rebuuild menu*************************
	public function rebuilLeftMenu():Void {
		// ********************single result***************
		//get part array
		partsArray = MenuXMLAssembler.partArray;
		var partIndex:Number = partsArray.length-1;
		//get albums array
		albumsArray = MenuXMLAssembler.albumsArray;
		// *****end***********single result***************
		//***********set parts array  to PhotoIconLink****************
		BROWSER.footer_mc.PhotoLinkIcon_mc.setPartArray(partsArray);
		// call build menu function
		__this.buildMenu(partsArray, albumsArray);
		// open parts
		openSubPartMenu(partIndex);
		//openPartSubMenu(partIndex, -1);
	}
	//**************build leftMenu*********************
	private function buildLeftMenu():Void {
		var THIS:MovieClip = __this;
		var _BROWSER:MovieClip = BROWSER;
		//*************************define SHOWING ******************
		SHOWING = "PARTS";
		//****end*****************define SHOWING ******************
		//BG
		drawBG();
		//***************content Rectangle mask****************
		createContentMask(BGAreaW, BGArea._height);
		//***************************attach up*************************
		//up
		UPScroll = __this.attachMovie(UPScrollLincageName, UPScrollName, UPScrollDepth);
		UPScroll._y = -1;
		//resize when loaded
		UPScroll.setReSize(BGAreaW);
		//*******end****************attach up *************************
		//create content container
		MenuContainer = __this.createEmptyMovieClip(MenuContainerName, MenuContainerDepth);
		MenuContainer._y = Math.floor(UPScroll._height);
		MenuContainer.cacheAsBitmap = true;
		//***************************attach down*************************
		//bottom
		DOWNScroll = __this.attachMovie(DOWNScrollLincageName, DOWNScrollName, DOWNScrollDepth);
		DOWNScroll._y = BGArea._height-DOWNScroll._height+1;
		//resize when loaded
		DOWNScroll.setReSize(BGAreaW);
		//*****end******************attach down*************************
		//mouseWhellEvent
		MouseWheelEvent();
		// deactiv scroll up down buttons
		DOWNScroll.deactivButton();
		UPScroll.deactivButton();
		// ***********************attach preloader for left menu*****************************
		var preloader:MovieClip = __this.attachMovie(preloaderLincageName, preloaderName, preloaderDepth);
		preloader._xscale = 70;
		preloader._yscale = 70;
		preloader._x = 10;
		preloader._y = 20;
		//*****************************************MEMU ASSEMBLER class (load XML )*********************************
		MenuXMLAssembler.buildMenuItems();
		//look if menu xml is loaded
		var indexTestMenu:Number = setInterval(checkIsLoadedMenu, 10, __this);
		MenuXMLAssembler.setCalBackAction(checkIsLoadedMenu, this);
		var partsArray:Array = new Array();
		var albumsArray:Array = new Array();
		var _CONTENTHOLDER:MovieClip = CONTENTHOLDER;
		function checkIsLoadedMenu(__this:MovieClip):Void {
			if (!__this) {
				__this = THIS;
			}
			var isloaded:Boolean = MenuXMLAssembler.isLoaded;
			if (isloaded) {
				//remove preloader
				preloader.removeMovieClip();
				//clear interval
				clearInterval(indexTestMenu);
				//get part array
				partsArray = MenuXMLAssembler.partArray;
				//***********set parts array  to PhotoIconLink****************
				_BROWSER.footer_mc.PhotoLinkIcon_mc.setPartArray(partsArray);
				//get albums array
				albumsArray = MenuXMLAssembler.albumsArray;
				// call build menu function
				__this.buildMenu(partsArray, albumsArray);
				//********************SEND ARRAYS TO PSSContentControler for loading parts********
				//PSSContentControler
				var newPSSContentControler:Object = new PSSContentControler();
				newPSSContentControler.setLeftMenu(__this);
				newPSSContentControler.setScrollPane(_CONTENTHOLDER.scrollContentPane_mc);
				newPSSContentControler.setPartsAndAlbumArray(partsArray, albumsArray);
				//**************************LOAD FROM URL******************
				if (_global.weblocation && _global.firtpars) {
					_global.firtpars = false;
					var anchorArray:Array = PSSLocationControler.returnAngorArray();
					var anchorLength:Number = anchorArray.length;
					//******************PART**************************
					if (anchorLength == 1) {
						THIS.SHOWING = "PARTS";
						var PartData:Object;
						var partInd:Number;
						// search index by id
						partInd = THIS.getPartIndexByID(partsArray, anchorArray[0]);
						// check part data from part array
						PartData = partsArray[partInd];
						if (partInd != -1) {
							//***********set open part data*************
							THIS.PARTID = anchorArray[0];
							THIS.OPENPART = partInd;
							//**end******set open part data*************
							// newPSSContentControler
							newPSSContentControler.createPartsList(partInd);
							THIS.openSubPartMenu(partInd);
							_BROWSER.setLabel = PartData.name;
						} else {
							// if local version
							newPSSContentControler.createPartsList();
						}
					} else if (anchorLength == 2) {
						THIS.SHOWING = "ALBUM";
						//******************ALBUM**************************
						var PartData:Object;
						var AlbumData:Object;
						var partInd:Number;
						var albumInd:Number;
						// search index by id
						partInd = THIS.getPartIndexByID(partsArray, anchorArray[0]);
						albumInd = THIS.getAlbumIndexByID(albumsArray, anchorArray[1], partInd);
						// check part data from part array
						PartData = partsArray[partInd];
						AlbumData = albumsArray[partInd][albumInd];
						if (PartData != undefined && AlbumData != undefined) {
							//***********set openalbum  data*************
							THIS.ALBUMID = anchorArray[1];
							THIS.PARTID = anchorArray[0];
							THIS.OPENPART = partInd;
							//***end******set openalbum  data*************
							THIS.openSubPartMenu(partInd);
							THIS.openAlbum(PartData.id, AlbumData.id, partInd, albumInd);
							_BROWSER.setLabel = PartData.name+" | "+AlbumData.name;
						} else {
							// if local version
							newPSSContentControler.createPartsList();
						}
					} else if (anchorLength == 3) {
						//THIS.SHOWING = "PHOTO";
						//******************BIG PHOTO**************************
						var newWorkersPhotoBuilder:Object = new WorkersPhotoBuilder();
						newWorkersPhotoBuilder.init(_BROWSER);
						newWorkersPhotoBuilder.openPhotoByID(anchorArray[0], anchorArray[1], anchorArray[2]);
						delete newWorkersPhotoBuilder;
						//*****end*********BIG PHOTO**************************
					} else {
						// if local version
						newPSSContentControler.createPartsList();
					}
				} else {
					// if local version
					newPSSContentControler.createPartsList();
				}
				//********end**************LOAD FROM URL******************
				delete newPSSContentControler;
				//*****end**********SEND ARRAYS TO PSSContentControler for loading parts********
			}
		}
		//********end*****************************MEMU ASSEMBLER class (load XML )*********************************
	}
	//***********************search index from array by id**************
	private function getPartIndexByID(arr:Array, searchID:Number):Number {
		var arrCount:Number = arr.length;
		for (var i = 0; i<arrCount; i++) {
			var tempObject:Object = arr[i];
			if (tempObject.id == searchID) {
				return i;
			}
		}
		return -1;
	}
	private function getAlbumIndexByID(alarr:Array, searchID:Number, partIndex:Number):Number {
		var albArray:Array = alarr[partIndex];
		var countsAlbums:Number = albArray.length;
		for (var i = 0; i<countsAlbums; i++) {
			var tempObject:Object = albArray[i];
			if (tempObject.id == searchID) {
				return i;
			}
		}
		return -1;
	}
	//*************************draw BGArea**************************
	private function drawBG():Void {
		BGAreaH = CONTENTHOLDER._height;
		//***************BGArea with DrawPrimitive class*************
		BGArea = DrawPrimitive.drawBitmapRectangle(__this, BGAreaName, BGAreaDepth, BGAreaW, BGAreaH, BGColorAlpha, BGColor);
		// **************create mouseWheel face*****************
		MouseFace = DrawPrimitive.drawBitmapRectangle(__this, MouseFaceName, MouseFaceDepth, BGAreaW, BGAreaH, MouseFaceAlpha, MouseFaceColor);
	}
	//*****************resize by Height*************
	public function resizeHeight(contentHitAreaH:Number):Void {
		//BG resize
		BGArea._height = contentHitAreaH;
		//mousewheel
		MouseFace._height = contentHitAreaH;
		//**************content mask ************
		contentMask.height = contentHitAreaH;
		__this.scrollRect = contentMask;
		//****end*******content mask ************
		//place downScroll botton
		DOWNScroll._y = contentHitAreaH-DOWNScroll._height+1;

⌨️ 快捷键说明

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