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

📄 browsercontroler.as

📁 国外强大的xml相册
💻 AS
字号:
//***********************Browser Controler********************
//import blur BrowserEffect class
import pssclasses.effects.*;
//
import pssclasses.browser.*;
class BrowserControler {
	//*************define variables***************
	// ROOT
	private static var __ROOT:MovieClip;
	private static var browserHolder:MovieClip;
	private static var browserHolderLinkageName:String = "browserHolder";
	private static var browserHolderName:String;
	private static var browserHolderDepth:Number;
	private static var BrowserIDName:Number = 0;
	// browser counter
	private static var browserCounter:Number = 0;
	// browsers stack
	private static var browsersStack:Array = new Array();
	// active browser
	private static var ACTIVEBROWSER:Number = 0;
	private static var FRONTDEPTH:Number = 10000;
	//*************define metods***************
	private function BrowserControler() {
	}
	public static function init():Void {
		BrowserIDName = 0;
		// browser counter
		browserCounter = 0;
		// browsers stack
		browsersStack = new Array();
		// active browser
		ACTIVEBROWSER = 0;
		FRONTDEPTH = 10000;
	}
	//*****************attach browserHolder****************
	public static function placeBrowserHolder(__root:MovieClip):Void {
		_root.registeredSkeenAction(BrowserControler, setNewColor);
		__ROOT = __root;
	}
	//*****end********attach browserHolder****************
	public static function openNewBrowser(topMenu:Boolean):Void {
		BrowserIDName++;
		//*******************dynamic browser's name and depth***************
		browserHolderName = "browser_"+BrowserIDName;
		// Math.floor(Math.random()*100000);
		// depth for browsers
		browserHolderDepth = browserCounter;
		//*****end**********dynamic browser's name and depth***************
		browserHolder = __ROOT.attachMovie(browserHolderLinkageName, browserHolderName, browserHolderDepth);
		// set browser ID
		browserHolder.setBrowserID = browserCounter;
		// add to browsersStack
		browsersStack[browserCounter] = browserHolder;
		// *******************SET BROWSER IN ACTIVE***************
		BrowserControler.activeBrowser = browserCounter;
		// browser counter 
		browserCounter = browsersStack.length;
		if (browserCounter == 1) {
			if (topMenu) {
				browserHolder.setFullSkreen(true);
			} else {
				browserHolder.setFullSkreen(false);
			}
		} else {
			if (browserCounter%2 == 1) {
				browserHolder.resizeBrowserFromPercent(80, 80);
			} else {
				browserHolder.resizeBrowserFromPercent(75, 75);
			}
		}
		//******************bluring****************************
		if (_global.EFFECT>0) {
			BrowserEffect.goToBlur(browserHolder);
		} else {
			BrowserEffect.dropShadow(browserHolder);
		}
		//***end************bluring****************************   
	}
	//***********************set browser size***********************
	public static function setBrowserSize(browserID:Number, __width:Number, __height:Number):Void {
		browsersStack[browserID].browserSetSize(__width, __height);
	}
	//********end************set browser size***********************
	//*************************SETER GETER ***********************
	// activ browser
	public static function set activeBrowser(browserID:Number):Void {
		if (ACTIVEBROWSER != browserID) {
			// affect browser activ lisneter 
			browsersStack[ACTIVEBROWSER].browserPassive();
			// affect browser activ lisneter 
			browsersStack[browserID].browserActiv();
			//end affect browser activ lisneter 
			ACTIVEBROWSER = browserID;
			bringBrowserToFront(browserID);
		}
	}
	public static function get activBrowser():Number {
		return ACTIVEBROWSER;
	}
	// return browser stack length for browser remove permition
	public static function get browserStackLength():Number {
		return browsersStack.length;
	}
	//*****************************DEPTH MANAGER***************************
	//**********************higher browser make is activ *****************************  
	private static function higherBrowserToActiv():Void {
		var stackLength:Number = browsersStack.length-1;
		// affect browser activ lisneter  
		//browsersStack[stackLength].browserActiv();
		/* *************************select highest index by value
		var highestIndex:Number = 0;
		var selIndex:Number = 0;
		var selIndexStep:Number = 1;
		for (var t = selIndex; t<stackLength; t++) {
		if (getBrowserDepth(browsersStack[selIndex])>getBrowserDepth(browsersStack[selIndexStep])) {
		selIndex = t+1;
		selIndexStep++;
		} else {
		selIndexStep++;
		}
		}
		highestIndex = selIndex;
		****end******************select highest index by value */
	}
	//*******end***********higher browser make is activ *****************************  
	// selected browser depth
	public static function getBrowserDepth(browserID:MovieClip):Number {
		return browserID.getDepth();
	}
	// *********************REMOVE BROWSER********************************
	public static function removeFromBrowserStack(browserID:Number):Void {
		var stackLength:Number = browsersStack.length;
		// if stack have more as 1 browser , can remove it
		if (stackLength>1) {
			//******************bluring****************************
			if (_global.EFFECT>0) {
				BrowserEffect.goToBlurAndRemove(browsersStack[browserID]);
			} else {
				browsersStack[browserID].removeMovieClip();
			}
			//***end************bluring**************************** 
			// remove movie 
			//browsersStack[browserID].removeMovieClip();
			// remove from browser stack
			// if removed browser is latest into stack
			if (browserID == stackLength-1) {
				browsersStack.pop();
			} else {
				browsersStack.splice(browserID, 1);
				// set new browserID
				setNewBrowseID();
			}
			// end if stack have more as 1 browser , can remove it
			// set new browser counter
			browserCounter = browsersStack.length;
		}
		/*else {
		if (!_global.weblocation) {
		fscommand("quit", "");
		}
		}*/ 
		//************************SET BROWSER TOACTIV**************************           
		activeBrowser = browsersStack.length-1;
		browsersStack[browsersStack.length-1].browserActiv();
		//*******end***************SET BROWSER TOACTIV**************************
	}
	// set new index for browser
	private static function setNewBrowseID():Void {
		var stackLength:Number = browsersStack.length;
		for (var i = 0; i<stackLength; i++) {
			browsersStack[i].setBrowserID = i;
			browsersStack[i].swapDepths(i);
		}
	}
	// ******end***********ROMOVE BROWSER********************************
	// bring browser to front
	public static function bringBrowserToFront(browserID:Number):Void {
		var selectedBrowserMC:MovieClip = browsersStack[browserID];
		selectedBrowserMC.swapDepths(FRONTDEPTH);
	}
	//*******end*******************DEPTH MANAGER***************************
	//**************************COLOR CHANGE FOR ALL BROWSER*************
	public static function setNewColor():Void {
		var stackLength:Number = browsersStack.length;
		for (var i = 0; i<stackLength; i++) {
			browsersStack[i].setNewColor();
		}
		// new color for slide show panel
		__ROOT.showHolder_mc.playPanel.setNewColor();
	}
	//**************************stageWatch*******************
	public static function stageWatch():Void {
		var stackLength:Number = browsersStack.length;
		var BrowserMC:MovieClip;
		for (var i = 0; i<stackLength; i++) {
			BrowserMC = browsersStack[i];
			BrowserMC.stageWatcher();
			if (BrowserMC._width>Stage.width) {
				BrowserMC.browserSetSize(Stage.width, BrowserMC._height);
			}
			if (BrowserMC._height>Stage.height) {
				BrowserMC.browserSetSize(BrowserMC._width, Stage.height);
			}
			if (BrowserMC._y<0) {
				BrowserMC._y = 0;
			}
			if (BrowserMC._x<0) {
				BrowserMC._x = 0;
			}
		}
	}
	public static function rebuildLeftMenu():Void {
		var stackLength:Number = browsersStack.length;
		for (var i = 0; i<stackLength; i++) {
			browsersStack[i].rebuilLeftMenu();
		}
	}
	//****************************DESEBLE BROWSER************************
	public static function desableActivBrovser(des:Boolean):Void {
		if (des) {
			browsersStack[ACTIVEBROWSER].aviableBrowser(false);
		} else {
		}
	}
	public static function setPhotoCount(con:Number):Void {
		browsersStack[ACTIVEBROWSER].setPhotosCount(con);
	}
	// ************end class*********
}

⌨️ 快捷键说明

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