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

📄 partbutton.as

📁 国外强大的xml相册
💻 AS
字号:
//effect shodow
import pssclasses.photocontainers.*;
//***********************PartButton  extends BasicActionButtons class*************************
import pssclasses.splitpanel.leftmenu.*;
class PartButton extends BasicActionButtonsMenu {
	//define attributes
	private var CHILD:Array = new Array();
	private var ChildHeight:Number;
	private var iconBut:MovieClip;
	private var openICO:MovieClip;
	private var ISOPEN:Boolean = false;
	private var containerIndex:Number;
	private var myDataObject:Object;
	private var MENU:MovieClip;
	//child butt 
	private var BGwidth:Number;
	private var nextY:Number;
	private var albumsInPart:Array;
	private var partContainer:MovieClip;
	// album button
	private var AlbumButton:MovieClip;
	private var AlbumButtonLincageName:String = "albumButton";
	private var AlbumButtonName:String = "albumBut_";
	private var ActivityBut:MovieClip;
	private var BROWSER:MovieClip;
	private var EMPTY:Boolean = true;
	// define metods
	private function PartButton() {
		imActiv = true;
		placeIcon();
		partContainer = __this._parent;
	}
	//**************set CHILD***********
	public function set setChild(children:Array):Void {
		CHILD = children;
		//****************IF EMPTY PART**********
		if (CHILD.length == 0 || !CHILD) {
			hideOpenIcon();
			EMPTY = true;
		} else {
			EMPTY = false;
		}
	}
	public function set setContainerIndex(contInd:Number):Void {
		containerIndex = contInd;
	}
	public function set setPartObject(pObj:Object):Void {
		myDataObject = pObj;
		// set label
		setLabel(myDataObject.name);
	}
	public function set setMenuMC(mc:MovieClip):Void {
		MENU = mc;
	}
	private function hideOpenIcon():Void {
		openICO._visible = false;
	}
	//***************resize************************
	public function setReSize(__width:Number):Void {
		BGwidth = __width;
		var cornerW:Number = right_mc._width;
		center_mc._width = __width-cornerW;
		right_mc._x = center_mc._width-1;
		//**********************resize label**********************
		resizeLabel(__width-cornerW);
		//place open close icon
		openICO._x = right_mc._x-openICO._width+2;
		//resize albums button
		if (ISOPEN) {
			var albumsCount:Number = albumsInPart.length;
			for (var i = 0; i<albumsCount; i++) {
				albumsInPart[i].setReSize(__width);
			}
		}
	}
	//*************place icon******************
	private function placeIcon():Void {
		iconBut = __this.attachMovie("partAlbICON", "partICO", 3);
		iconBut._y = 6;
		iconBut._x = 6;
		labelMC._x = 25;
		labelMC._y = 1;
		openICO = __this.attachMovie("openClosePart", "openICO", 4);
		openICO._y = 4;
	}
	//*****************events**************
	private function onRollOver():Void {
		if (!BROWSER.getBrowserDesable()) {
			//**********open close icon*********
			if (!ISOPEN) {
				openICO.gotoAndStop(2);
			} else {
				openICO.gotoAndStop(4);
			}
			//***end*****open close icon*********
			if (imActiv) {
				moveToActiv();
			}
		}
	}
	private function onRollOut():Void {
		if (!BROWSER.getBrowserDesable()) {
			//**********open close icon*********
			if (!ISOPEN) {
				openICO.gotoAndStop(1);
			} else {
				openICO.gotoAndStop(3);
			}
			//***end*****open close icon*********
			if (imActiv) {
				moveToPassiv();
			}
		}
	}
	public function onPress(fromLeftMenu:Boolean):Void {
		if (!BROWSER.getBrowserDesable()) {
			if (!fromLeftMenu) {
				ISOPEN = !ISOPEN;
				imActiv = !imActiv;
				moveToActiv();
				//**********open close icon*********
				if (!ISOPEN) {
					openICO.gotoAndStop(1);
					// move partContainer in new position
					MENU.movePartsTo(-ChildHeight, containerIndex);
					//****************remove childs****************** 
					removeChild();
				} else {
					//*******browser label****************
					BROWSER.setLabel = myDataObject.name;
					// move partContainer in new position
					var childH:Number = buildMenu(CHILD);
					MENU.movePartsTo(childH, containerIndex);
					// open part
					MENU.openPartSubMenu(containerIndex);
					openICO.gotoAndStop(3);
					//****************build childs******************
				}
				//***end*****open close icon*********
			} else {
				if (!ISOPEN) {
					ISOPEN = true;
					imActiv = false;
					//*******browser label****************
					moveToActiv();
					// move partContainer in new position
					var childH:Number = buildMenu(CHILD);
					MENU.movePartsTo(childH, containerIndex);
					// open part
					openICO.gotoAndStop(3);
				}
				//MENU.openPartSubMenu(containerIndex);   
				//****************build childs******************
			}
			// look height open sub menu for scroling
			MENU.activScrollBut();
			selectBut();
		}
	}
	//********************************BUILD MENU*******************************
	private function buildMenu(albumArr:Array):Number {
		var albumsCount:Number = albumArr.length;
		ChildHeight = 0;
		// define array Flash BUG ig array defined into header array like static var 
		albumsInPart = new Array();
		var __width:Number = BGwidth;
		nextY = Math.floor(__this._height);
		for (var i = 0; i<albumsCount; i++) {
			var tempObject:Object = albumArr[i];
			// new part button
			var albumButton:MovieClip;
			//attach part button
			AlbumButton = partContainer.attachMovie(AlbumButtonLincageName, AlbumButtonName+i, 999-i);
			AlbumButton.cacheAsBitmap = true;
			//***********array with all albumsInPartContainers**************
			albumsInPart[i] = AlbumButton;
			albumButton = AlbumButton;
			albumButton.cacheAsBitmap = true;
			// set size for part button
			albumButton.setReSize(__width);
			// set part child
			//albumButton.setChild = albumArr[tempObject.index];
			//set container index
			albumButton.setContainerIndex = i;
			//set part name
			tempObject.p_name = myDataObject.name;
			// set part button object
			albumButton.setPartObject = tempObject;
			//set menu movie
			albumButton.setMenuMC = partContainer;
			// set browser
			albumButton.setBrowser(BROWSER);
			//set PartBut
			albumButton.setPartBut(this);
			// place container
			albumButton._y = nextY+0.5;
			nextY += Math.ceil(albumButton._height)-1;
		}
		// menu height
		ChildHeight = Math.ceil(__this._parent._height-__this._height);
		return ChildHeight;
	}
	private function removeChild():Void {
		var albumsCount:Number = albumsInPart.length;
		for (var i = 0; i<albumsCount; i++) {
			albumsInPart[i].removeMovieClip();
		}
	}
	//********************************SELECT UNSELECT********************
	public function selectBut():Void {
		BROWSER.unSelectPartBut();
		BROWSER.setSelectedPartButton(this);
		ActivityBut = this;
		// set select
		HoldersEffects.dropShadow(this);
		//albumsInPart[0].unselectLastBut()
	}
	public function unselectBut():Void {
		HoldersEffects.killShadow(this);
	}
	//****************select sub but************
	public function selectSubBut(subindex:Number):Void {
		albumsInPart[subindex].selectBut();
	}
	public function pressSubBut(subindex:Number):Void {
		albumsInPart[subindex].onPress();
	}
	//*************setBrowser*************
	public function setBrowser(brow:MovieClip):Void {
		BROWSER = brow;
	}
	// **********************end class*********************************
}

⌨️ 快捷键说明

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