Окей

Код AS3:
package {
import flash.events.*;
import flash.net.*;
import flash.display.*;
dynamic class AddImages extends Sprite{
public var publicTest:String = "Yo!!!";
public var xmlURL:String = "xml/images.xml";
public var xmlData:XML;
public var urlLoader:URLLoader;
public var previewArray:Array = new Array();
public var imageArray:Array = new Array();
public var preview_list_block:Sprite = new Sprite();
public var preview_blocks:Array = new Array();
public var loader:Loader;
public var imageLoader:Loader;
public var imageGeneralBlock:Sprite = new Sprite();
public var imageBlocks:Array = new Array();
public function AddImages(){
addChild(preview_list_block);
preview_list_block.x = 0;
preview_list_block.y = 0;
addChild(imageGeneralBlock);
imageGeneralBlock.x = 200;
parseXML();
}
private function parseXML(){
var urlRequest:URLRequest = new URLRequest(xmlURL);
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, completeListener);
urlLoader.load(urlRequest);
}
private function completeListener(e:Event){
xmlData = new XML(urlLoader.data);
for(var i:Number = 0; i < xmlData.children().length(); i++){
previewArray[i] = xmlData.image.@preview[i];
imageArray[i] = xmlData.image.@image[i];
var preview_sprite:Sprite = new Sprite(); // Создаем Спрайты, в которые в дальнейшем подгружаем изображения, размещаем их в общем блоке для превью
preview_blocks.push(preview_sprite);
preview_list_block.addChild(preview_blocks[i]);
preview_blocks[i].buttonMode = true;
preview_blocks[i].addEventListener(MouseEvent.CLICK, showImage(i));
}
previewLoader(0);
}
var preview_x:Number = 0;
var preview_y:Number = 0;
var preview_i = 0;
private function previewLoader(i){
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
loader.load(new URLRequest(previewArray[i]));
}
private function initListener(e:Event):void{
preview_blocks[preview_i].addChild(loader);
preview_blocks[preview_i].x = preview_x;
preview_blocks[preview_i].y = preview_y;
preview_y += preview_blocks[preview_i].height + 20;
preview_i++;
if(preview_i < previewArray.length){ //Проверяем наличие еще превьюшек
previewLoader(preview_i);
}
}
private function showImage(i:int):Function{
return function(e:Event){
imageLoader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.INIT, initImageLoader);
imageLoader.load(new URLRequest(imageArray[i]));
}
}
private function initImageLoader(e:Event){
imageGeneralBlock.addChild(imageLoader);
}
}
}
Код надо будет почистить. Это первые пробы на АС3
Добавлено через 3 минуты
Раньше это был отдельный класс принадлежащий AddImages.fla и все корректно работало