Показать сообщение отдельно
Старый 05.01.2006, 15:04
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если для 8-ки и подгружаем только изображения, то можно такой подход:
-грузим во временные мувики картинки из переданного массива урлов
-изображение копируем в BitmapData,кладем ссылку в массив, мувики удаляем
-как загрузятся все, вызываем метод onLoad
дальше по мере надобности аттачим из массива нужный битмап куда надо..
Код:
import flash.display.*;
class Someclass {
private var images:Array=[];
public var onLoad:Function;
public var length:Number;
	//грузим, копируем, удаляем
	public function load(urls:Array){
		images=[];
		length=urls.length;
		var o=this;
		for(var counter=length,i=length;i--;){
			var ml =new MovieClipLoader();
			ml.tag=i;
			ml.mc=_root.createEmptyMovieClip('tmp'+i,_root.getNextHighestDepth());
			ml.imgs=images;
			
			ml.onLoadInit=function(){
				var bmp=this.imgs[this.tag]=new BitmapData(this.mc._width,this.mc._height);
				bmp.draw(this.mc);
				this.unloadClip(this.mc);
				this.mc.removeMovieClip();
				if(!--counter)o.onLoad();
			}
			ml.loadClip(urls[i],ml.mc);
		}
	}
	//аттачим битмап в мувик where( для примера..
	public function displayImage(where:MovieClip,num:Number){
		where.attachBitmap(images[num],where.getNextHighestDepth());
	}
}
///////////////пример/////////////
var imageLoader=new Someclass();
imageLoader.load(['p0.jpg','p1.jpg']);
imageLoader.onLoad=function(){
	//trace('loaded');
	_root.onMouseUp=function(){
		var mc=this.createEmptyMovieClip('tmp',this.getNextHighestDepth())
		
		mc._x=random(Stage.width);
		mc._y=random(Stage.height);
		imageLoader.displayImage(mc,random(imageLoader.length));
	}
	
}