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

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

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

Регистрация: Oct 2010
Сообщений: 6
По умолчанию получение данных из XML

Суть Дела вот в чем: выдергиваю значения из хмл и сохраняю в массив,но после когда пытаюсь использовать данные из массива он пишет что массив пуст вот мой код:

Код AS3:
var UsersArr:Array= new Array(); 
var ConfigData:XML;
var ConfigList:XMLList;
var UsersData:XML;
var UsersList:XMLList;
var ip:String;
 
system_load_config.text = "Не загружен";
system_load_user.text = "Не загружен";
var Config_Data_Loader:URLLoader = new URLLoader(new URLRequest("config.xml"));
/*Добавляем слушатель загрузки конфига*/
Config_Data_Loader.addEventListener(Event.COMPLETE, ConfigLoadComplete);
/*Сохраняем в ipLAN локальный адрес из XML*/
function ConfigLoadComplete(e:Event):void
{
	system_load_config.text = "Загружен";
	ConfigData = XML(e.target.data);
	ConfigList = ConfigData.*;
	ip = ConfigList. @ ipLAN.toString();
	/*Добавляем загрузчик списка пользователей*/
	var Users_Data_Loader:URLLoader = new URLLoader(new URLRequest("http://" + ip + "/Data/users data/users_data.xml"));
	Users_Data_Loader.addEventListener(Event.COMPLETE, UsersLoadComplete);
	/*Добавляем слушатель загрузки списка пользователей*/
}
function UsersLoadComplete(e:Event):void
{
 
	system_load_user.text = "Загружен";
	UsersData = XML(e.target.data);
	UsersList = UsersData.*;
	var i=0;
	trace(UsersList.length())
	while(i<UsersList.length()){
		UsersArr[i]=[UsersList.@Login[i],UsersList.@Password[i],UsersList.@Name[i],UsersList.@Soname[i],UsersList.@ID[i],UsersList.@Email[i];
		i++;
	}
trace(UsersArr[1]); // тут выдает данные
}
trace(UsersArr[1]); //тут уже undefined
Можно ли как нибудь данные из users_data.xml сохранить где-нибудь и ,после, не загружая снова users_data.xml ,использовать эти значения(допустим в следующей сцене)?
Заранее спасибо!


Последний раз редактировалось WhitePhoenix; 22.11.2010 в 01:16. Причина: да так
Старый 22.11.2010, 01:16
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
//тут уже undefined
- не уже, а ещё.
Если бы не писали в кадрах, а в отдельных файлах, как все рекомендуют с тех пор, как появился AS2 то и проблемы бы этой не было.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 22.11.2010 в 01:19.
Старый 22.11.2010, 01:18
WhitePhoenix вне форума Посмотреть профиль Отправить личное сообщение для WhitePhoenix Найти все сообщения от WhitePhoenix
  № 3  
Ответить с цитированием
WhitePhoenix

Регистрация: Oct 2010
Сообщений: 6
-De- что мне сделать тогда?

Старый 22.11.2010, 01:30
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
ЭЭ переписать без использования скриптов в кадрах?
Вот например, чтоб начать - прописываете document class вашей флашке, обзываете его DocClass, создаете файл DocClass.as в папке с флашкой, содержимое его, эквивалентное тому, что вы написали (ну мож где-то пара тупых багов ибо не компилил):
Код AS3:
package {
import flash.text.*;
import flash.display.*;
import flash.events.*;
class DocClass {
public var UsersArr:Array= new Array(); 
public var ConfigData:XML;
public var ConfigList:XMLList;
public var UsersData:XML;
public var UsersList:XMLList;
public var ip:String;
 
public var system_load_config:TextField;
 
public var system_load_user:TextField;
 
public function DocClass {
system_load_config.text = "Не загружен";
system_load_user.text = "Не загружен";
var Config_Data_Loader:URLLoader = new URLLoader(new URLRequest("config.xml"));
/*Добавляем слушатель загрузки конфига*/
Config_Data_Loader.addEventListener(Event.COMPLETE, ConfigLoadComplete);
/*Сохраняем в ipLAN локальный адрес из XML*/
trace(UsersArr[1]); //тут уже undefined
}
 
public function ConfigLoadComplete(e:Event):void
{
	system_load_config.text = "Загружен";
	ConfigData = XML(e.target.data);
	ConfigList = ConfigData.*;
	ip = ConfigList. @ ipLAN.toString();
	/*Добавляем загрузчик списка пользователей*/
	var Users_Data_Loader:URLLoader = new URLLoader(new URLRequest("http://" + ip + "/Data/users data/users_data.xml"));
	Users_Data_Loader.addEventListener(Event.COMPLETE, UsersLoadComplete);
	/*Добавляем слушатель загрузки списка пользователей*/
}
public function UsersLoadComplete(e:Event):void
{
 
	system_load_user.text = "Загружен";
	UsersData = XML(e.target.data);
	UsersList = UsersData.*;
	var i=0;
	trace(UsersList.length())
	while(i<UsersList.length()){
		UsersArr[i]=[UsersList.@Login[i],UsersList.@Password[i],UsersList.@Name[i],UsersList.@Soname[i],UsersList.@ID[i],UsersList.@Email[i];
		i++;
	}
trace(UsersArr[1]); // тут выдает данные
}
 
}
}
расставить отступы, убрать код из кадра.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 22.11.2010 в 01:47.
Старый 22.11.2010, 01:49
WhitePhoenix вне форума Посмотреть профиль Отправить личное сообщение для WhitePhoenix Найти все сообщения от WhitePhoenix
  № 5  
Ответить с цитированием
WhitePhoenix

Регистрация: Oct 2010
Сообщений: 6
-De- Большое спасибо!

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

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

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


 


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


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