Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.05.2007, 11:07
Mopc2007 вне форума Посмотреть профиль Отправить личное сообщение для Mopc2007 Найти все сообщения от Mopc2007
  № 1  
Ответить с цитированием
Mopc2007

Регистрация: May 2007
Сообщений: 4
Thumbs up Как отловить что нету картинок

Парсю XML стоки примерно такого вида

Код:
<item filename="17920" descr="81.17920.00.1  30 pcs. 6 pers. Dinner set/Aleksandria/Reminiscence  "/>
<item filename="17898" descr="81.17898.00.1  20 pcs. 6 pers. Tea set/Aleksandria/Reminiscence  "/>
<item filename="17899" descr="81.17899.00.1  21 pcs. 6 pers. Coffee set/Aleksandria/Reminiscence  "/>
всю инфу сразу же загоняю в массив, на базе которого потом будут работать загруженные галереи на сайте.. Как на этапе парсинга сделать бы проверку существования картинки.... (filename=), и, если ее нет
не пихать строчку в массив вообще? Весь день вчера мучался с LoadClip и Лисенерами.. че то нифига не получается..


вот кусок парсинга:
Код:
playlist_xml.onLoad = function(success) {
 		
	if (success) {
		
  		var tracks_xml = playlist_xml.firstChild;
  		for (var i = 0; i < tracks_xml.childNodes.length; i++) {
		
var ibig="Slides/"+ tracks_xml.childNodes[i].attributes.filename+".jpg";
var ismall="Slides/"+ tracks_xml.childNodes[i].attributes.filename+"_sm.jpg";
			myArray.push("mc" + i); // имя клипа
			myArray.push(tracks_xml.childNodes[i].attributes.descr); // описание
			myArray.push(ibig); //картинки
			myArray.push(ismall);
			myArray.push(ibig);
			myArray.push(ibig); ; 

	}}
Может кто поможет... Буду оч. признателен
С Уважением Влад


Последний раз редактировалось Mopc2007; 04.05.2007 в 15:57.
Старый 04.05.2007, 13:39
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 2  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
у класса MovieClipLoader есть onLoadError
__________________
"We Are The Champions My Friends!" Queen

Старый 04.05.2007, 14:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Морс2007, оформите свой код (в т.ч. XML) тегами [code][/code].

Старый 04.05.2007, 14:51
Mopc2007 вне форума Посмотреть профиль Отправить личное сообщение для Mopc2007 Найти все сообщения от Mopc2007
  № 4  
Ответить с цитированием
Mopc2007

Регистрация: May 2007
Сообщений: 4
Цитата:
Сообщение от CorC
у класса MovieClipLoader есть onLoadError
да, я им пытаюсь пользоваться и при пакетной обработке файлов в цикле.. и он даже мне вызывает это событие ровно столько раз скольких файлов не хватает! Но когда я в этом onLoadError пытаюсь выловить еще и имя картинки, то это не получается..

Старый 04.05.2007, 15:23
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Морс2007, нужно нажать на кнопку справа от поста и оформить тегами код и XML, а не весь пост целиком.

Старый 07.05.2007, 11:50
Mopc2007 вне форума Посмотреть профиль Отправить личное сообщение для Mopc2007 Найти все сообщения от Mopc2007
  № 6  
Ответить с цитированием
Mopc2007

Регистрация: May 2007
Сообщений: 4
Коллеги, вот сегодня еще поколупался в попытках динамически анализируя xml вида

Код:
<item filename="17920" descr="81.17920.00.1  30 pcs. 6 pers. Dinner set/Aleksandria/Reminiscence  "/>
<item filename="17898" descr="81.17898.00.1  20 pcs. 6 pers. Tea set/Aleksandria"/>
...
отловить отсутствие файлов (filename) на диске.. и получается что что-то видимо с тем, что не успевает отрабатываться все события.. на вот такой код

Код:
var mclListener:Object = new Object();
mclListener.onLoadStart = function(target_mc:MovieClip) {
   	trace(target_mc+"-- начал загружаться");
};

mclListener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
    trace(taget_mc+"-- нету файла");
}


var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);


var playlist_xml = new XML();
playlist_xml.load("imperial.xml");
playlist_xml.ignoreWhite = true;

playlist_xml.onLoad = function(success) {
if (success) {
var tracks_xml = playlist_xml.firstChild;
for (var i = 0; i < tracks_xml.childNodes.length; i++) {
_root.createEmptyMovieClip("image_mc"+i, this.getNextHighestDepth());
var ibig="Slides/"+ tracks_xml.childNodes[i].attributes.filename+".jpg";
image_mcl.loadClip(ibig,eval("image_mc"+i)); 



}}}
trace выдает результат в виде:
_level0.image_mc273-- начал загружаться

т.е. это - последний клип...(конец tracks_xml.childNodes.length)..
почему же мне не выдаются результаты по всем остальным, начиная с первого?...
может все-таки поможет кто-нибудь? буду оч. признателен!

Старый 07.05.2007, 12:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Потому что загрузка асинхронна с кодом. Не говоря уже о том, что MovieClipLoader в один момент времени загружает только один клип.

Старый 07.05.2007, 14:59
Mopc2007 вне форума Посмотреть профиль Отправить личное сообщение для Mopc2007 Найти все сообщения от Mopc2007
  № 8  
Ответить с цитированием
Mopc2007

Регистрация: May 2007
Сообщений: 4
я так понял что без применения сторонних проверок (к примеру php скриптом) понять существует файл или нет, до его загрузки во флеш, нет возможности?

Старый 07.05.2007, 15:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нет, можно создать для каждого клипа свой MovieClipLoader.

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.