📄 browsercontroler.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 + -