📄 albumphotobuilder.as
字号:
//import drawPrimetive
import pssclasses.*;
// import hint class
import pssclasses.hint.*;
//***************************import FormatText class**************************
import pssclasses.*;
//***********************AlbumPhotoBuilder class**************************
import pssclasses.photocontainers.*;
class AlbumPhotoBuilder {
//*************define attributes***************
private var SkrollPanel:MovieClip;
private var Holder:MovieClip;
private var photoHolder:MovieClip;
private var photoTextField:TextField;
//depths
private var loaderDepth:Number = 4;
private var textDepth:Number = 3;
private var photoHolderDepth:Number = 2;
private var BGDepth:Number = 0;
private var PhotoPartsFolder:String = "photoparts/";
private var AlbumPhoto:String = "album.jpg";
// width and height
private var p_width:Number;
private var p_height:Number;
// margin
private var topMargin:Number = 10;
private var leftMargin:Number = 10;
private var rightMargin:Number = 10;
private var bottomMargin:Number = 10;
private var photoSpace:Number = 6;
// preloader
private var PreLoader:MovieClip;
private var loaderLinkageName:String = "preloaderLitle";
private var loaderName:String = "loader_mc";
//style photoholder
private var BGarea:MovieClip;
private var BGname:String = "bgArea_mc";
private var borderBGcolor:Number = 0x666666;
private var BGcolor:Number = 0x999999;
private var bordWeight:Number = 0.25;
private var bordAlpha:Number = 100;
private var bodyAlpha:Number = 100;
private var asBitMap:Boolean = true;
// **********label text field property
private var labelFont:String = "Verdana";
private var labelSize:Number = 12;
private var labelColor:Number = 0xD0D0D0;
private var labelBold:Boolean = true;
private var labelAlign:String = "center";
private var labelMultyLine:Boolean = true;
private var labelAutoSize:Boolean = true;
private var selectebleText:Boolean = false;
private var embedFont:Boolean = false;
private var labelHtml:Boolean = true;
private var labelMargin:Number = 5;
//
private var HOLDERSCOUNT:Number = 0;
// label memori
private var myLabel:String;
private var labelOtstup:Number = 40;
//BG
private var multyContainerBG:MovieClip;
private var ScrollPaneBG:MovieClip;
private var ScrollPaneBGW:Number;
private var ScrollPaneBGH:Number;
// sumWidth
private var sumWidth:Number = 0;
private var sumHeight:Number = 0;
private var startX:Number = photoSpace;
private var startY:Number = photoSpace;
private var newX:Number = photoSpace;
private var newY:Number = photoSpace;
private var standartHolderWidth:Number;
private var standartHolderHeight:Number;
private var newLine:Number = 0;
private var lineArray:Array;
private var lineHoldArray:Array = new Array();
// ***end****label text field property
//**************define metods****************
public function AlbumPhotoBuilder() {
HOLDERSCOUNT = 0;
newLine = 0;
lineArray = new Array();
}
//*********************create holder************
public function createHolder(_place:MovieClip, photoObject:Object):Object {
// bg
//multyContainerBG = _place.BGArea_mc;
//****************************SHOT TO MASK******************
SkrollPanel = _place._parent._parent._parent;
SkrollPanel.addHolderCount();
//scroll pan eback ground
ScrollPaneBG = SkrollPanel.BGArea_mc;
ScrollPaneBGW = ScrollPaneBG._width;
ScrollPaneBGH = ScrollPaneBG._height;
// object with photo data
var photoData:Object = photoObject;
/*
photoData.index
photoData.id
photoData.name
photoData.mheight
photoData.mwidth
photoData.p_id
*/
var id:Number = photoData.id;
//********************setphoto size
setPhotoWH(photoData.mwidth, photoData.mheight);
// *****************create holder
//if from search
if (photoData.rid == undefined) {
Holder = _place.createEmptyMovieClip("holder_"+id, id);
} else {
Holder = _place.createEmptyMovieClip("holder_"+photoData.rid, photoData.rid);
}
//
Holder.cacheAsBitmap = true;
// set property to holder
Holder.photoData = photoData;
// ***end**********create holder
//*******************create photo holder
createPhotoHolder();
//****end***********create photo holder
//********************load photo
loadPhoto(PhotoPartsFolder+photoData.p_id+"/"+photoData.id+"/"+AlbumPhoto);
//***end*************load photo
//******************create text field
createTextFild();
placeLabel();
setPhotoLabel(photoData.name);
//***end************create text field
// ******************create bg
var holderW:Number = p_width+leftMargin*2;
var holderH:Number = photoTextField._y+photoTextField._height+bottomMargin;
drawBG(holderW, holderH);
// ***end************create bg
//*****************place photo holder************************
standartHolderWidth = holderW;
standartHolderHeight = holderH;
var lineHoldCount:Number;
var maxHeight:Number;
if (newX+standartHolderWidth>ScrollPaneBGW) {
newLine++;
var lineMovie:MovieClip;
lineArray.sortOn("hheight", Array.DESCENDING);
lineHoldCount = lineArray.length;
var maxHObject:Object = lineArray[0];
maxHeight = maxHObject.hheight;
for (var i = 1; i<lineHoldCount; i++) {
var tempHold:Object = lineArray[i];
lineMovie = tempHold.movie;
lineMovie.bgArea_mc._height = maxHeight;
}
//resize bg photo holder
HOLDERSCOUNT = 0;
lineArray = new Array();
// set new line with holders
newLine++;
// new y and x
newY += maxHeight+startY;
newX = startX;
}
// set holder into line array
lineArray[HOLDERSCOUNT] = {hheight:Holder._height, movie:Holder};
//****************************RESIZE BG AT MAX HEIGHT*********************
var lineMovie:MovieClip;
lineArray.sortOn("hheight", Array.DESCENDING);
lineHoldCount = lineArray.length;
var maxHObject:Object = lineArray[0];
maxHeight = maxHObject.hheight;
for (var i = 1; i<lineHoldCount; i++) {
var tempHold:Object = lineArray[i];
lineMovie = tempHold.movie;
lineMovie.bgArea_mc._height = maxHeight;
}
//***********end***********RESIZE BG AT MAX HEIGHT*********************
// place holder
Holder._x = Math.round(newX);
Holder._y = Math.round(newY)+.5;
// new holder x
newX += startX+standartHolderWidth;
//******end*******place photo holder************************
HOLDERSCOUNT++;
//**************************SET EVENTS******************************
var _SkrollPanel:MovieClip = SkrollPanel;
var _photoHolder:MovieClip = photoHolder;
Holder.onRollOver = function() {
var hinttext:String = _global.PSS_UI.lib_albumlook;
//from hint class
Hint.labelText(hinttext, null, true);
Hint.hintDrag();
//******************bluring****************************
//if (_global.EFFECT) {
HoldersEffects.dropShadow(this);
//}
};
Holder.onRollOut = function() {
// from hint class
Hint.killHint();
//*******************bluring****************************
//if (_global.EFFECT) {
HoldersEffects.killShadow(this);
//}
};
Holder.onPress = function():Void {
// from hint class
Hint.killHint();
var LeftMenu:MovieClip = this._parent._parent._parent._parent._parent.leftMenuFull_mc;
var BROWSER:MovieClip = this._parent._parent._parent._parent._parent._parent;
/*
photoData.index
photoData.id
photoData.name
photoData.mheight
photoData.mwidth
photoData.p_id
if from search photoData.s
//
this.photoData.p_id
this.photoData.p_index
*/
BROWSER.setLabel = this.photoData.p_name+" | "+this.photoData.name;
LeftMenu.openSubPartMenu(this.photoData.p_index);
LeftMenu.openAlbum(this.photoData.p_id, this.photoData.id, this.photoData.index, this.photoData.p_index);
};
//****************return object with holder end standart width
var retObject:Object = new Object();
retObject.swidth = standartHolderWidth;
retObject.sheight = standartHolderHeight;
retObject.holder = Holder;
retObject.line = newLine;
return retObject;
}
//**************************END*****HOLDER UILD*************************
//********************create text field***********
private function createTextFild():Void {
//******************FormatText class******************
photoTextField = Holder.createTextField("photoLabel", textDepth, 0, 0, 50, 20);
photoTextField.wordWrap = true;
photoTextField.cacheAsBitmap = true;
FormatText.setTextFieldProp(photoTextField, labelAutoSize, selectebleText, embedFont, -400, "pixel", labelHtml, labelMultyLine);
FormatText.setTextFieldFormat(photoTextField, labelFont, labelSize, labelColor, labelBold, false, labelAlign, labelMargin, labelMargin);
}
// place photo label
private function placeLabel():Void {
photoTextField._width = p_width;
photoTextField._y = p_height+photoSpace+labelOtstup;
photoTextField._x = leftMargin;
}
public function setPhotoLabel(__text:String):Void {
photoTextField.htmlText = __text;
myLabel = __text;
}
//*******************create photo holder**********************
private function createPhotoHolder():Void {
photoHolder = Holder.createEmptyMovieClip("photoHolder_mc", photoHolderDepth);
photoHolder._y = topMargin;
photoHolder._x = leftMargin;
photoHolder.cacheAsBitmap = true;
//******************events*****************
}
// ******************draw holder bg***************************
private function drawBG(__width:Number, __height:Number):Void {
var widthR:Number = __width;
var heightR:Number = __height;
BGarea = DrawPrimitive.drawRectangle(Holder, BGname, BGDepth, widthR, heightR, bordWeight, borderBGcolor, BGcolor, bordAlpha, bodyAlpha, asBitMap);
}
// ******************place preloader**************************
private function placePreloader():MovieClip {
var _SkrollPanel:MovieClip = SkrollPanel;
PreLoader = Holder.attachMovie(loaderLinkageName, loaderName, loaderDepth);
PreLoader._xscale = 80;
PreLoader._yscale = 80;
PreLoader._y = topMargin+(p_height-PreLoader._height)/2;
PreLoader._x = leftMargin+(p_width-PreLoader._width)/2;
return PreLoader;
}
//*********************************SET METODS*********************
public function setPhotoWH(__width:Number, __height:Number):Void {
p_height = Number(__height);
p_width = Number(__width);
}
//**********************LOAD PHOTO*******************
public function loadPhoto(__path:String):Void {
var __Holder:MovieClip = Holder;
var _SkrollPanel:MovieClip = SkrollPanel;
var _AlbumPhotoBuilder:Object = this;
//**********place preloader**********************
var preLoader:MovieClip = placePreloader();
//***end****place preloader**********************
var loader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();
loader.addListener(loadListener);
loadListener.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number):Void {
preLoader.removeMovieClip();
//**************resize scroll panel***************
//_SkrollPanel.dynResizeWidth();
delete loader;
//***************effects
if (_global.EFFECT == 3) {
HoldersEffects.goToSharp(__Holder);
}
// place photo in center
var _holder:MovieClip = __Holder;
target_mc.onEnterFrame = function() {
if (this._width>0) {
this._x = Math.floor((_holder._width-this._width)/2);
delete this.onEnterFrame;
}
};
// end place photo in center
};
loadListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
//************************SET TO LOADER *************************
//preLoader.setProgressLoadig(bytesTotal, bytesLoaded);
//*****end***************SET TO LOADER *************************
};
//********************ERROR*********'
var alertError:MovieClip;
loadListener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
delete loader;
alertError = __Holder.attachMovie("alert_error", "alert_error", 4);
alertError._x = (__Holder._width-alertError._width)/2;
alertError._y = 50;
};
//****************preloader action**********************
loader.loadClip(__path, photoHolder);
//***end*********preloader action**********************
}
//***************setToFitSize*************
//**********end class********
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -