
Код AS3:
//Loading the background image
function loadBackgroundImage():void {
loader_mc.txt_txt.text = "LOADING BACKGROUND IMAGE 0%";
var _loader:Loader = new Loader();
_loader.load(new URLRequest(bkImagePath));
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,handleComplete);
_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,handleProgress);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,handleIoError);
function handleProgress(e:ProgressEvent):void {
var percent:Number = e.bytesLoaded/e.bytesTotal;
loader_mc.txt_txt.text = "LOADING BACKGROUND IMAGE " + Math.round(percent * 100) + "%";
loader_mc.bk_mc.width = loader_mc.txt_txt.width +25;
}
function handleIoError(e:IOErrorEvent):void {
throw new Error("THE BACKGROUND IMAGE PATH IS NOT CORECT!");
}
function handleComplete(e:Event) {
var _bitmap:Bitmap = new Bitmap();
_bitmap = _loader.content;
_bitmap.x = - _bitmap.width/2;
_bitmap.y = - _bitmap.height/2;
_bitmap.smoothing = true;
_bk_sp.addChild(_bitmap);
_bkW = _bitmap.width;
_bkH = _bitmap.height;
resizeAndPositionTheBkImg(_bk_sp,_bkW,_bkH,stage.stageWidth,stage.stageHeight);
TweenMax.to(_bk_sp,.6,{alpha:1,ease:Quart.easeOut,overwrite:false,onComplete:clearLoader});
TweenMax.to(_bkmasc_sp,.6,{width:stage.stageWidth,height:stage.stageHeight,overwrite:false,ease:Quart.easeOut});
TweenMax.killTweensOf(loader_mc);
TweenMax.to(loader_mc,.6,{x:-loader_mc.width,delay:.4,ease:Quart.easeOut,overwrite:false,onComplete:initSite});
stage.addEventListener(Event.RESIZE,resizeBkImage);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,handleIoError);
_loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,handleProgress);
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,handleComplete);
_loader = null;
}
}
//Resize the background image and the background image mask
function resizeBkImage(e:Event):void {
TweenMax.killTweensOf(_bkmasc_sp);
_bkmasc_sp.width = stage.stageWidth;
_bkmasc_sp.height = stage.stageHeight;
resizeAndPositionTheBkImg(_bk_sp,_bkW,_bkH,stage.stageWidth,stage.stageHeight);
}
//When the background image has loaded and it is visible remove the loader from stage
function clearLoader():void {
removeChild(loader_mc);
}
//Function for rezing the background image
function resizeAndPositionTheBkImg(mc,W,H,contianerW,containerH) {
var obj1 = new Object();
var sW:Number = contianerW;
var sH:Number = containerH;
var baseScale:Number = sW/W;//the scaling is made based on the stage w and the image w
var sCx:Number = sW/W;
var sCy:Number = sH/H;
if (baseScale < sCy) {
baseScale = sCy;
}
var wD:Number = baseScale * W;
var hT:Number = baseScale * H;
var scX:Number = wD/W*1;//final scaleX
var scY:Number = hT/H*1;//final scaleY
mc.x = sW/2;
mc.y = sH/2;
mc.scaleX = scX;
mc.scaleY = scY;
}