![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2006
Адрес: Russia, Kazan
Сообщений: 31
|
Стлокнулся с такой проблемой:
В XML: <objects> <region map="1" number="20"> <bank type="1" label="Бабруйск"> <desc>Информация 1</desc> </bank> </region> <region map="1" number="21"> <bank type="1" label="Бабруйск1"> <desc>Информация 2</desc> </bank> </region> <region map="1" number="22"> <bank type="1" label="Бабруйск3"> <desc>Информация 3</desc> </bank> </region> </objects> Суть такова: флэш берет из xml данные регионов, размещает нужные флажки над мувиками-регионами (1_mc и т.п.), при нажатии на регион с флажком, выводится информация в текстовое поле out2_txt. Проблема заключается в слюдующем, все флажки расставились как надо, нужные регионы подсвечены, но при нажатии на любой подсвеченый регион всегда показывается информация последнего (<desc>Информация 3</desc>) региона. Вот код в AS: var data_xml:XML = new XML();
data_xml.load("data.xml");
data_xml.ignoreWhite = true;
//
var region_map:Array = new Array();
var region_number:Array = new Array();
var bank_type:Array = new Array();
var bank_label:Array = new Array();
var description:Array = new Array(null);
//
echo = function (msg) {
out2_txt.text += msg;
};
var j:Number = new Number();
var i:Number = new Number();
data_xml.onLoad = function(success) {
if (success) {
for (i = 0; i < this.firstChild.childNodes.length; i++) {
out_txt.text += "Статус XML: " + data_xml.status + newline;
region_map.push(data_xml.firstChild.childNodes[i].attributes.map);
region_number.push(data_xml.firstChild.childNodes[i].attributes.number);
bank_type.push(data_xml.firstChild.childNodes[i].childNodes[0].attributes.type);
bank_label.push(data_xml.firstChild.childNodes[i].childNodes[0].attributes.label);
description.push(data_xml.firstChild.childNodes[i].childNodes[0].childNodes[0].childNodes[0].nodeValue);
_root[region_number[i] + "_mc"]._alpha = 100;
//trace(i);
//trace(description[i]);
//out2_txt.text += description[i]+newline
_root[region_number[i] + "_mc"].onRelease = function() {
out2_txt.text += description[i] + newline;
//trace(j);
};
flag_mc.duplicateMovieClip("flag" + i + "_mc", i);
_root["flag" + i + "_mc"].city_txt.html = true;
_root["flag" + i + "_mc"].city_txt.htmlText = bank_label[i];
_root["flag" + i + "_mc"]._x = _root[region_number[i] + "_mc"]._x;
_root["flag" + i + "_mc"]._y = _root[region_number[i] + "_mc"]._y;
}
} else {
out_txt.text += "Произошла ошибка!";
}
};
//
|
|
|||||
|
попробуйте так:
|
|
|||||
|
Регистрация: Mar 2006
Адрес: Russia, Kazan
Сообщений: 31
|
Спасибо, работает
![]() Целый день сегодня сижу, никак разобраться не мог)) |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|