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