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

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

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

Регистрация: Dec 2008
Сообщений: 4
По умолчанию XML и получение чисел

Доброго времени суток, есть проблема.
Имею XML файл, в котором храняться координаты.
Проблема заключается втом, что после парсинга в массив записыватся визуально число(при выводе через trace), на самом же деле в массив записываются значения типа object. Вот код скрипта
Код:
_root.id = new Array();
_root.club = new Array();
_root.people = new Array();
_root.event = new Array();
_root.first_ev = new Array();
_root.his_id = new Array();
clubKor = new XML();
clubKor.load("http://ufa/include/xml/kor.xml");
clubKor.onLoad = function(success) {
	if (success) {
		rootNode = clubKor.firstChild;
		main = rootNode.firstChild;
		children = main.childNodes;
		c = 0;
		bl = children[0].firstChild;
		x[c] = children[1].firstChild;
    	y[c] = children[2].firstChild;
		while (main=main.nextSibling) {
			c++;
			children = main.childNodes;
			bl = children[0].firstChild;
			x[c] = children[1].firstChild;
			y[c] = children[2].firstChild;
		}
	}
};
myXML = new XML();
myXML.load("http://ufa/include/xml/dump.xml");
System.useCodepage = true;
myXml.ignoreWhite = true;
clubKor.ignoreWhite = true;
myXML.onLoad = function(success) {
	if (success) {
		rootNode = myXML.firstChild;
		clubs = rootNode.firstChild;
		children = clubs.childNodes;
		c = 0;
		_root.id[c] = children[0].firstChild;
		_root.club[c] = children[1].firstChild;
		_root.event[c] = children[2].firstChild;
		_root.people[c] = children[3].firstChild;
		_root.first_ev[c] = children[4].firstChild;
		_root.his_id[c] = children[5].firstChild;
		_root["icon"].duplicateMovieClip("icon"+c, c);
		_root["icon"+c]._x = x[c];
		_root["icon"+c]._y = y[c];
		_root["icon"+c].onRollOver = function() {
			this.gotoAndStop(2);
			_root.info.din_club = _root.club[this._name.slice(4, 9)];
			_root.info.din_event = _root.event[this._name.slice(4, 9)];
			_root.info.din_pep = _root.people[this._name.slice(4, 9)];
			if (_root.first_ev[this._name.slice(4, 9)] != "null") {
				_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
			}
		};
		_root["icon"+c].onRollOut = function() {
			this.gotoAndStop(1);
		};
		_root["icon"+c].onRelease = function() {
			getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
		};
		while (clubs=clubs.nextSibling) {
			c++;
			children = clubs.childNodes;
			_root.id[c] = children[0].firstChild;
			_root.club[c] = children[1].firstChild;
			_root.event[c] = children[2].firstChild;
			_root.people[c] = children[3].firstChild;
			_root.first_ev[c] = children[4].firstChild;
			_root.his_id[c] = children[5].firstChild;
			_root["icon"].duplicateMovieClip("icon"+c, c);
			_root["icon"+c]._x = x[c];
			_root["icon"+c]._y = y[c];
			_root["icon"+c].onRollOver = function() {
				this.gotoAndStop(2);
				_root.info.din_club = _root.club[this._name.slice(4, 9)];
				_root.info.din_event = _root.event[this._name.slice(4, 9)];
				_root.info.din_pep = _root.people[this._name.slice(4, 9)];
				if (_root.first_ev[this._name.slice(4, 9)] == "null") {
					_root.info.ne_mov.din_first = _root.first_ev[this._name.slice(4, 9)];
				}
			};
			_root["icon"+c].onRollOut = function() {
				this.gotoAndStop(1);
			};
			_root["icon"+c].onRelease = function() {
				getURL("http://ufa/index.php?club_id="+_root.id[this._name.slice(4, 9)]);
			};
		}
	} else {
		trace("Ошибка открытия файла!");
	}
};
Вот код XML,в котором координаты:
Код:
<?xml version="1.0" encoding="UTF-8"?><main><kor_id><id>15</id><x>230</x><y>91</y></kor_id><kor_id><id>10</id><x>405</x><y>213</y></kor_id><kor_id><id>8</id><x>265</x><y>251</y></kor_id><kor_id><id>14</id><x>275</x><y>175</y></kor_id><kor_id><id>17</id><x>562</x><y>328</y></kor_id></main>
Жду ответов =) Самое главное чтобы работала вот эта строчка
Код:
			_root["icon"+c]._x = x[c];
			_root["icon"+c]._y = y[c];
Где x y массивы, в которые записываются из XML координаты. Заранее спасибо =)

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

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Код AS1/AS2:
while (clubs==clubs.nextSibling) {
Если не ошибаюсь...
__________________
O God! The Aftermath.

Старый 24.12.2008, 00:45
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
children[n].firstChild.nodeValue
__________________
Reality.getBounds(this);

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
.nodeValue надо использовать.

Старый 24.12.2008, 15:36
KorKuno_v вне форума Посмотреть профиль Отправить личное сообщение для KorKuno_v Найти все сообщения от KorKuno_v
  № 5  
Ответить с цитированием
KorKuno_v

Регистрация: Dec 2008
Сообщений: 4
Цитата:
Сообщение от dmitriev Посмотреть сообщение
Код AS1/AS2:
while (clubs==clubs.nextSibling) {
Если не ошибаюсь...
Ошибаешься =) Там идет присваивание, а булево значение получается из
clubs.nextSibling

Wolsh,Mnilionic спасибо, исправил, все заработало =)

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

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

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


 


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


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