Показать сообщение отдельно
Старый 21.07.2009, 18:16
tetra вне форума Посмотреть профиль Отправить личное сообщение для tetra Найти все сообщения от tetra
  № 8  
Ответить с цитированием
tetra

Регистрация: Jan 2008
Сообщений: 7
Я пользуюсь такой штукой для загрузки внешних картинок с ресайзом
писал для себя так что не претендую на супер оригинальнось
Код AS1/AS2:
/***********************************************************
Загрузка  изображений в контейнер Image Версия 2.5
 
HELP // README и прочая ботва
 
- вызов класса теперь такой
	_root.createEmptyMovieClip("tmpic",_root.getNextHighestDepth());
	mcLoader.loadClip("имя/картинки.jpg",tmpic);
- в сцене нужно присутсвие
	con_img
- Ресайз картинки на весь экран
	con_img._x = (Stage.width-con_img._width)/2;
		xProporc = Stage.width/con_img._width;
		yProporc = Stage.height/con_img._height;
		if (xProporc>yProporc) {
			con_img._width = con_img._width*xProporc;
			con_img._height = con_img._height*xProporc;
		} else {
			con_img._width = con_img._width*yProporc;
			con_img._height = con_img._height*yProporc;
		}
- добавить если надо позиционирование по Y con_img._y = (Stage.height-con_img._height)/2;
- динамическое поле для процентов должно иметь лейбл percent
- мувиклип LoadBar - отображает загрузку визуально. Должен также присутствовать в сцене
************************************************************/
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData
var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
 
// Пишем START LOAD NEXT IMAGE при начале загрузки
listener.onLoadStart = function(target_mc:MovieClip) {
 
percent ="Start Load next Image";
 
}
// В процессе загрузки пишем количество загруженных байт и общее число байт
listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
loadBar._alpha = 100;
 
loadBar._width = ((Math.round(bytesLoaded/1024))/ (Math.round(bytesTotal/1024)))* Stage.width ;
percent ="Load Image progress: " + Math.round(bytesLoaded/1024) + " kb of " + Math.round(bytesTotal/1024) + "kb";
 
}
listener.onLoadInit =function(tmpic) {
	//создаем битмап дату для темпового контейнера
	var bitmap:BitmapData = new BitmapData(tmpic._width, tmpic._height, true, 0);
	bitmap.draw(tmpic);
	//атачим его в контейнер картинок
	con_img.attachBitmap(bitmap,2,"auto",true);
	// удаляем ненужную копию без битмап даты
	tmpic.removeMovieClip();
 
}
// При завершении загузки пишем что все готово
listener.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number):Void {
percent ="Load Complite";
loadBar._alpha = 0;
var tween_handler:Object = new Tween(con_img, "_alpha", Strong.easeIn, 0, 100, 1, true);
trace ("Появление завершено!");
percent ="";
	}
// При ошибки загрузки пишем ошибку и просем растартнуть страницу
listener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number):Void {
		percent ="errorCode: " + errorCode + " REFRESH PAGE"
 
	}
 
/******************************************************************
 конец загрузки  изображений в контейнер Image Версия 2.5
*******************************************************************/


Последний раз редактировалось tetra; 21.07.2009 в 18:21.