Подгрузка кучи картинок и XML (вроде простой вопрос) @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 8 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Заголовок сообщения: Подгрузка кучи картинок и XML (вроде простой вопрос)
Сообщение Добавлено: 5 Июль 2007, 10:12:40 
Внутри цикла (for) находится такой вот код:


Код:
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_obj:Object = new Object();
my_mcl.loadClip("img/"+content_xml.childNodes[0].childNodes[i].attributes.img, "clip"+i);
my_obj.onLoadComplete = function() {
[color=indigo] // Тут будет установка координат подгруженной картинке[/color]
};
my_mcl.addListener(my_obj);



Собственно цикл берёт XML файл и делает кнопки с данными из файла. в этом же файле находятся название картинок, которые надо подгрузить чтобы вставлять в кнопки. Я не догоняю как правильно это реализовать, но через массивы не удобно там будет. Help :insane:

З.Ы. если заменить "clip"+i на просто clip, то грузится только последняя картинка, а так как сейчас, вообще нифига не грузится...

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 5 Июль 2007, 10:35:33 
собсснно, где логика? my_mcl грузит картинки, а my_obj тут вообще при чем?

да, и что такое clip? Это у вас объект такой создан?

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 5 Июль 2007, 10:39:43 

Бaзиль писал(а):
собсснно, где логика? my_mcl грузит картинки, а my_obj тут вообще при чем?



Это взято с какого-то исходника в интернете. А clip - это объекты, в которые грузятся картинки. Надо, чтобы каждый объект соответствовал новоподгруженной картинке. Например Clip1 - первая картинка, Clip2 - вторая и т.д. А потом для каждой координаты задавать типа clip._x=100; и т.д.

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 5 Июль 2007, 11:06:33 
Итак, для таких как я, кто в танке. Нашёл рабочий пример кода )

Код:
var portfolioPictures = portfolio_xml.firstChild.childNodes;
for (var i = 0; i < portfolioPictures.length; i++){

var currentPicture = portfolioPictures[i];
 
var currentThumb_mc = menu_mc.createEmptyMovieClip ("thumbnail_mc"+i,i);
currentThumb_mc._x = i * thumb_spacing;
 
currentThumb_mc.createEmptyMovieClip("thumb_container",0);
currentThumb_mc.thumb_container.loadMovie (currentPicture.attributes.thumb);
}


Взято тут:

http://www.kirupa.com/web/xml/examples/portfolio.htm

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 5 Июль 2007, 11:15:19 
Вот если ещё кто-то подскажет как эти все картинки разом можно удалить со сцены... типа removeMoveiClip( ? );

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 5 Июль 2007, 12:02:00 
XML лист

Код:
<images>
    <item img="img/an1.jpg"/>
   <item img="img/an2.jpg"/>
   <item img="img/an3.jpg"/>

</images>

Код на первом кадре

Код:


var xml_base:XML = new XML();
xml_base.ignoreWhite = true;
xml_base.load("images.xml");
xml_base.onLoad = function(success:Boolean) {
   if (success) {
      loadImages();
   }
};
var image_loader:MovieClipLoader = new MovieClipLoader();
// создаем объект загрузчика
var load_events:Object = {};
// создаем объект который будет слушать события загрузчика
image_loader.addListener(load_events);
// подписываем слушателя на события
load_events.onLoadProgress = function(mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   trace("загрузка в " + mc + " [" + bytesLoaded + " / " + bytesTotal);
};
load_events.onLoadInit = function(mc:MovieClip) {
   trace(mc + " Загружен и готов ко всему");
   // надо понмить, что по событию  onLoadComplete - клип в который что то грузилось еще не доступен скрипту в полной мере. Все действия с этим клипом-  исключительно начиная с лоадИнит
};
function loadImages():Void {
   var images_arr:Array = xml_base.firstChild.childNodes;
   for (var i = 0; i < images_arr.length; i++) {
      this.createEmptyMovieClip("pic" + i, i);
      this["pic" + i]._x = 100;
      this["pic" + i]._y = i * 100;
      image_loader.loadClip(images_arr[i].attributes.img, this["pic" + i]);
   }
}




что бы убить всех
Код:
this.onMouseDown = killEmAll;
function killEmAll() {
   var n:Number = xml_base.firstChild.childNodes.length;
   for (var i = 0; i < n; i++) {
      image_loader.unloadClip(this["pic" + i]);
      // выгружаем содержимое, дляпорядка.
      this["pic" + i].removeMovieClip();
      // убираем созданные клипы.
   }
}
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 5 Июль 2007, 13:23:26 
Мигель, спасибо ) опять выручил. Надеюсь кому-то тут ещё пригодится :beer:

Кстати, по поводу убивания всех мувиков со сцены разом. Думаю многим будет полезно:

Код:
   for (var name in _root) {
      if (typeof (_root[name]) == "movieclip") {
         removeMovieClip(_root[name]);
      }
   }

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
ctrlaltdel Муж.
соучастник
13
Сообщения: 866
Зарегистрирован: 17.02.05
Сообщение Добавлено: 6 Июль 2007, 02:12:32 
Мигель,
оффтопик:
функция с красноречивым названием KILL EM ALL супер …

_________________
Вы смеётесь над нами , потому что мы отличаемся от вас,
а мы смеёмся над вами, потому что вы НЕ отличаетесь друг
от друга
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 8 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100