Показать сообщение отдельно
Старый 30.04.2009, 14:09
Vfillaa вне форума Посмотреть профиль Отправить личное сообщение для Vfillaa Найти все сообщения от Vfillaa
  № 1  
Ответить с цитированием
Vfillaa

Регистрация: Apr 2009
Сообщений: 6
По умолчанию Загрузка картинок из XML

Решил создать галерею с разной тематикой. Чтоб выводить изображения из 2-х независимых друг от друга XML-файлов в строго определенные координаты. То есть не как у обычной галереи - жмешь на маленькое фото - появляется большое на весь экран. А так, что на экране появлялись большие фото из разных тематических XML рядом друг с другом. Увы. Ничего из этого не получилось. Полноценно функционирует только последняя часть скрипта, та, в которой прописан второй XML-файл. В тестовом режиме никаких ошибок flash не выдает. Подскажите, в чем здесь ошибка, уже второй день парюсь.

Код AS3:
var xmlLoader:URLLoader = new URLLoader(new URLRequest ("xml.xml"));
 
 var xmlData:XML;
 
 var xmlList:XMLList;
 
 var foto:Loader;
 
 xmlLoader.addEventListener (Event.COMPLETE, getXML);
 
 function getXML(e:Event):void
 
 {
   xmlData = XML(e.target.data);
   xmlList = xmlData.children();
 
   for(var i:int=0;i<xmlList.length();i++)
 
   {
       var foto:Loader = new Loader;
       foto.load (new URLRequest(xmlList[i].attributes()[1]));
       foto.x=120*i+40;
       foto.y=70;
       foto.name=xmlList[i].attributes()[0]
       addChild(foto);
 
       foto.addEventListener(MouseEvent.CLICK, showPic);
   }
 
   function showPic (e:MouseEvent):void
   {
       var foto:Loader = new Loader;
       foto.load (new URLRequest(e.target.name));
       foto.x=400;
       foto.y=280;
       addChild(foto);
   }
 
 }
 
 var xml1Loader:URLLoader = new URLLoader(new URLRequest ("xml1.xml"));
 
 var xml1Data:XML;
 
 var xml1List:XMLList;
 
 var foto1:Loader;
 
 xml1Loader.addEventListener (Event.COMPLETE, getXML);
 
 function getXML1(e:Event):void
 
 {
   xml1Data = XML(e.target.data);
       xml1List = xml1Data.children();
 
   for(var i:int=0;i<xml1List.length();i++)
 
   {
       var foto1:Loader = new Loader;
       foto1.load (new URLRequest(xml1List[i].attributes()[1]));
       foto1.x=100;
       foto1.y=200*i+70;
       foto1.name=xml1List[i].attributes()[0]
       addChild(foto1);
 
       foto1.addEventListener(MouseEvent.CLICK, showPic1);
   }
 
   function showPic1 (e:MouseEvent):void
   {
       var foto1:Loader = new Loader;
       foto1.load (new URLRequest(e.target.name));
       foto1.x=250;
       foto1.y=250;
       addChild(foto1);
   }
 
 }