Показать сообщение отдельно
Старый 24.10.2009, 04:48
p0okm вне форума Посмотреть профиль Отправить личное сообщение для p0okm Найти все сообщения от p0okm
  № 7  
Ответить с цитированием
p0okm

Регистрация: May 2009
Сообщений: 34
Продолжая попытки справится с этой загрузкой XML пришёл к такому вот варианту,
Тупо вставил таймер и после задержки получил ожидаемый результат:
Код AS3:
package
{
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	import flash.utils.Timer;
 
	public class Test_zgr_XML extends Sprite
	{		
		var adres_fayla:String = new String;		
		var kilkist:Zagruzki_XML;		
		public function Test_zgr_XML()
		{			
		    kilkist = new Zagruzki_XML(this); 
		    var zadergka:Timer = new Timer(500, 1);
		    zadergka.addEventListener(TimerEvent.TIMER, timer_1); 
                    zadergka.start();
		}
		private function timer_1 (event:TimerEvent):void 
		{
			adres_fayla = kilkist.adresa[kilkist.itogo - 1];
			trace("adres_fayla =", adres_fayla);
		}
	}	
}
Естественно тут же захотелось увидеть как он реально загрузит картинки из указанных адресов. В функцию timer_1 дописал лоадер, а в самом конце ещё один тестовый трейсер:
Код AS3:
		private function timer_1 (event:TimerEvent):void 
		{
			adres_fayla = kilkist.adresa[kilkist.itogo - 1];
			trace("adres_fayla =", adres_fayla);
			var image:Loader = new Loader();		    
		        image.load( new URLRequest(adres_fayla));
			addChild(image);
                        trace("adres_fayla2 =", adres_fayla);
		}
В ответ получил , то есть финальный трейсер сработал раньше загрузки файла.
Код:
itogo = 3
adres_fayla = "img_test/tretiy.swf"
adres_fayla2 = "img_test/tretiy.swf"
Error #2044: Необработанный IOErrorEvent:. text=Error #2035: URL-адрес не обнаружен.
Тихо зверею, снова тупо вставляю тормоз в виде таймера
Код AS3:
package
{
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	import flash.utils.Timer;
 
	public class Test_zgr_XML extends Sprite
	{		
		var adres_fayla:String = new String;
		var image:Loader = new Loader();
		var kilkist:Zagruzki_XML;
 
		public function Test_zgr_XML()
		{			
		    kilkist = new Zagruzki_XML(this); 
	            var zadergka:Timer = new Timer(500, 1);
		    zadergka.addEventListener(TimerEvent.TIMER, timer_1); 
                    zadergka.start();
		}
		private function timer_1 (event:TimerEvent):void 
		{
		    adres_fayla = kilkist.adresa[kilkist.itogo - 1];
	            trace("adres_fayla =", adres_fayla);					    
		    image.load( new URLRequest(adres_fayla));
		    var zadergka2:Timer = new Timer(500, 1);
		    zadergka2.addEventListener(TimerEvent.TIMER, timer_2); 
                    zadergka2.start();
		}
	        private function timer_2 (event:TimerEvent):void
	        {
		    addChild(image);
		    trace("adres_fayla2 =", adres_fayla);
		}
	}	
}
Получаю
Код:
itogo = 3
adres_fayla = "img_test/tretiy.swf"
Error #2044: Необработанный IOErrorEvent:. text=Error #2035: URL-адрес не обнаружен.
adres_fayla2 = "img_test/tretiy.swf"
Заменяю переменную с адресом из XML-файла adres_fayla = kilkist.adresa[kilkist.itogo - 1];
на adres_fayla = "img_test/tretiy.swf";
Всё работает даже без применения задержки.
Нитчего не понимаю
Почему так получается?

Добавлено через 12 часов 57 минут
С проблемой пути разобрался, в XML нужно было путь писать не в кавычках.
А вот как обойтись без искуственной задержки в виде TimerEvent.TIMER
пока не знаю.