Показать сообщение отдельно
Старый 03.09.2007, 01:42
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Код:
import mx.utils.Delegate;

class class_card_tovar extends MovieClip{

	private var __listenerObject:Object;
	private var __mcl:MovieClipLoader;
	private var __picsNum:Number = 2; //Колличество картинок
	private var __curPic:Number = 1;
	private var flag:Boolean = false;
	
	function onPress() {
		ImageLoader("1.jpg");
	}
	
	public function ImageLoader(image:String) {
		
		__mcl = new MovieClipLoader();
		__listenerObject = new Object();
		
		if (!flag){
			__listenerObject.onLoadComplete = Delegate.create (this, this.ImageLoader_onLoadComplete);
			__listenerObject.onLoadProgress = Delegate.create (this, this.ImageLoader_onLoadProgress);
			__mcl.addListener(__listenerObject);
			flag = true;
		}
		
		__mcl.loadClip(image, this.createEmptyMovieClip("pic" + __curPic+ "_mc", this.getNextHighestDepth()));
	}
	
	private function ImageLoader_onLoadComplete ():Void {
		trace ('com');
		preloader._visible = false;
		if (__curPic != picNum){
			__curPic ++;
			ImageLoader (__curPic.toString + ".jpg");
		}
	}	
	
	private function ImageLoader_onLoadProgress (loadedBytes:Number, totalBytes:Number):Void {
		trace ('com2' + totalBytes);
	}
}
Но так правильнее —
Главный класс управляет месторасположением картинок:
Код:
/**
 * @author Screamge
 * @date Sep 3, 2007
 */
import mx.utils.Delegate;
import datas.Loader;
 
class datas.Main extends MovieClip {
	private static var maxLength:Number = 5;
	private var i:Number;
	
	private function Main() {
		//private constructor
	};
	
	function onPress (Void):Void {
		for (i = 0; i <= Main.maxLength; i++){
			attachMovie("form_card_tovar", "tovar" + String (i) + "_mc", this.getNextHighestDepth(), {_x:i*100 + 10, _y:i*100 + 10});
			var loader:Loader = new Loader (this['tovar' + String (i) + '_mc'], i);
		}
	}	
}
Класс подгружающий картинки:
Код:
import mx.utils.Delegate;

class datas.Loader extends MovieClip{
	private var __this:MovieClip;
	private var __listenerObject:Object;
	private var __mcl:MovieClipLoader;
	
	public function Loader (_this:MovieClip, num:Number){
		trace ('loader' + num);
		__this = _this;
		__mcl = new MovieClipLoader();
		
		__listenerObject = new Object();
		__listenerObject.onLoadComplete = Delegate.create (this, this.ImageLoader_onLoadComplete);
		__listenerObject.onLoadProgress = Delegate.create (this, this.ImageLoader_onLoadProgress);
		
		__mcl.addListener(__listenerObject);
		
		ImageLoader(String (num) + '.jpg');
	}
	
	private function ImageLoader(image:String):Void {		
		__mcl.loadClip(image, __this, 1);
	}
	
	private function ImageLoader_onLoadComplete ():Void {
		trace ('com');
		//preloader._visible = false;
	}	
	
	private function ImageLoader_onLoadProgress (loadedBytes:Number, totalBytes:Number):Void {
		trace ('com2' + totalBytes);
	}
}
Есть ещё вариант аттачить мувик к которому уже прикреплён класс загрузчик и в который передаётся ID желаемой картинки, при желании я думаю переделать не составит труда.
__________________
Free-lance | Twitter | Me