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

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

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

Регистрация: Aug 2008
Сообщений: 15
Question область видимости при загрузке данных извне

Есть класс:
Код:
package {
	
	import flash.display.Sprite;
	import flash.events.*;
	import flash.net.*;
	
	public class getXML extends Sprite{
		
		public var xml:XML;
		public var loader:URLLoader;
		
		public function getXML(){
						
			loader = new URLLoader ();
			loader.addEventListener (Event.COMPLETE, loadXML);
			loader.load (new URLRequest ("test.xml"));
			
			trace(xml); // Выводит NULL
		}
		
		public function loadXML (e:Event):void {
			xml = new XML (loader.data);
                        trace(xml); // Выводит содержимое XML файла
		}
		
	}
}
собственно вопрос, как можно получить загруженные данные НЕ в обработчике события, а в любом другом методе ?

Старый 03.09.2008, 17:57
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 2  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
так же как и в обработчике, только вызывать их надо после события комплит

Старый 03.09.2008, 18:02
Багратион вне форума Посмотреть профиль Отправить личное сообщение для Багратион Найти все сообщения от Багратион
  № 3  
Ответить с цитированием
Багратион

Регистрация: Aug 2008
Сообщений: 15
Цитата:
Сообщение от ramshteks Посмотреть сообщение
так же как и в обработчике, только вызывать их надо после события комплит
А по-конкретнее можно ? Желательно с примерами

Просто в дальнейшем, данные обрабатываются и потом должны быть переданы в другой класс, а я получается могу с этими данными работать только в пределах одного класса... вернее даже в пределах одного метода класса...

Старый 03.09.2008, 18:13
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 4  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
эм кто сказал тебе сию глупость у тя все есть чтоб осуществить задуманное! подумай еще.

ладна.

Код:
package {
	
	import flash.display.Sprite;
	import flash.events.*;
	import flash.net.*;
	
	public class XMLLoader extends Sprite{ классы называют с большой буквы и вроде как мне известно существительными а не глаголами
		
		private var xml:XML;//инкапсуляция друг мой)
		private var loader:URLLoader;
		
		public function XMLLoader(){
						
			loader = new URLLoader ();
			loader.addEventListener (Event.COMPLETE, loadXML);
			loader.load (new URLRequest ("test.xml"));
			
			trace(xml); // Выводит NULL - естестна!
		}
		
		private function loadXML (e:Event):void {
			xml = new XML (e.data);
                                 //барабанная дробь!
                                 doSomething(xml)
                                 var someObject:SomeClass=new SomeObject(xml)
                                 //или
                                 var someObject2:SomeClass=new SomeClass2()
                                 someObject2.setXmlData(xml);
                        trace(xml); // Выводит содержимое XML файла
		}
                       private function doSomething(xmlData:XML):void{
                             trace(xmlData)     //O_o                  
                        }
		
	}
}


Последний раз редактировалось ramshteks; 03.09.2008 в 18:16.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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