Показать сообщение отдельно
Старый 21.03.2011, 19:11
Weather вне форума Посмотреть профиль Отправить личное сообщение для Weather Посетить домашнюю страницу Weather Найти все сообщения от Weather
  № 2  
Ответить с цитированием
Weather

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
продолжение:

Код 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;
}