![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
в главный свф (index.swf) подгружаеться XML (clan.xml)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<clan>
<pers>
<nick>nick1</nick>
<about>about1</about>
</pers>
<pers>
<nick>nick2</nick>
<about>about2</about>
</pers>
<pers>
<nick>nick3</nick>
<about>about3</about>
</pers>
</clan>
собственно вопрос как подгрузить их? пишу в index.swf : function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
}
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
Дальше не могу понять что делать... не подскажите? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У Вас же есть уже цикл, в котором Вы читаете XML. Ну и загружайте новую свфку при каждой итерации по персу. (Хотя, имхо, я бы лучше аттачил с либы. Или допускается ситуация отсутствия персов?))))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
ээээ... так не работает...что не так?
function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
createEmptyMovieClip("container"+[i], getNextHighestDepth());
container[i].loadMovie("info.swf")
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
Последний раз редактировалось CROL; 23.08.2008 в 18:27. |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
createEmptyMovieClip("container"+[i], getNextHighestDepth());
container[i].loadMovie("info.swf")
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
obi, так тоже не подгружает =(...пробовал так...но тоже не работает
function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
createEmptyMovieClip("container"+[i], getNextHighestDepth());
var infoLoader:MovieClipLoader = new MovieClipLoader();
infoLoader.loadClip("info.swf", container[i]);
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Что еще за container[i] ?
function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
var clip:MovieClip = createEmptyMovieClip("container"+[i], getNextHighestDepth());
clip.loadMovie("info.swf")
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
Спасибо большое 8)
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
и как теперь отправить значение nick[i] в container[i]?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Элементарно)))) Надо просто грузить не в сам clip, а создавать в нем пустой мувиклип и загружать свф в него, а данные хранить в контейнере (clip, "container"+i). Просто после загрузки внешней свф в клип тот теряет "неродные" свойства. А контейнер их запомнит, потому что в него не будет загружаться ничего, он не поменяется))
Ну примерно так: function loadXML(loaded) {
if (loaded) {
xmlPers = this.firstChild;
nick = [];
about = [];
total = xmlPers.childNodes.length;
for (i=0; i<total; i++) {
nick[i] = xmlPers.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPers.childNodes[i].childNodes[1].firstChild.nodeValue;
var clip:MovieClip = createEmptyMovieClip("container"+[i], getNextHighestDepth());
var informer:MovieClip = clip.createEmptyMovieClip("informer", 1);
clip.id = i;
informer.loadMovie("info.swf")
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("clan.xml");
////
trace("клип: "+container3+"\nNick: "+nick[container3.id]+"\nabout: "+about[container3.id])
Ну и, конечно, Вы можете хранить ник и описание не в массиве, а в свойствах самого контейнера, если нужно, также как id))
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 23.08.2008 в 22:11. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:50. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|