![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2007
Сообщений: 49
|
Делаю небольшой механизм который берёт данные из ХМЛ, в соответствии с ними, атачит нужные клипы, ну и как следствие нужно потом клипы удалять...
вот тут то и возникла загвоздка! myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("myxml.xml");
myXML.onLoad = function(success) {
if (success == true) {
_global.chislo_gorodov = myXML.firstChild.childNodes[0].childNodes.length;
var nod:XMLNode = myXML.firstChild.childNodes[0];
id = new Array();
c_status_id = new Array();
for (i=0; i<chislo_gorodov; i++) {
c_status_id = nod.childNodes[i].attributes.status_id;
sid = Number(c_status_id);
if (sid == 2) {
mcg = _root.attachMovie("zapis_mc01", "zapis_mc"+i, i, {_x:nod.childNodes[i].attributes.ix, _y:nod.childNodes[i].attributes.iy});
}
if (sid == 1) {
mcg = _root.attachMovie("zapis_mc02", "zapis_mc"+i, i, {_x:nod.childNodes[i].attributes.ix, _y:nod.childNodes[i].attributes.iy});
}
exit_but.onPress = function() {
_root.gotoAndStop(1);
zapis_mc1.removeMovieClip();
};
mcg.onRelease = function() {
fi = substring(this._name, 9, -1);
n = Number(fi);
c_x = nod.childNodes[n].attributes.ix;
c_y = nod.childNodes[n].attributes.iy;
inf_x = inf_y=c_name=nod.childNodes[n].attributes.name;
c_info = nod.childNodes[n].attributes.info;
c_status = nod.childNodes[n].attributes.status_id;
var inf_x = c_x;
var inf_y = c_y;
mtv = _root.attachMovie("inf", "inf", 999, {_x:inf_x, _y:inf_y});
mtv.header.onPress = function() {
startDrag(_root.mtv);
};
mtv.header.onRelease = function() {
stopDrag();
};
mtv.exit_but.onPress = function() {
mtv._visible = false;
};
};
}
}
};
ТОварищи если не трудно взгляните,.. может вам удастца высмотреть тут какую нить вопиющую ошибку из-за которой не деляются клипы... Последний раз редактировалось neFX; 20.01.2008 в 05:04. |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
а упростить никак?
|
|
|||||
|
а почему ты, собственно говоря, создавая клипы с динамическими именами, удаляешь всегда клип "zapis_mc1"???
наверное, стоит при удалении также формировать имя с помощью счетчика. как считаешь? ![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 49
|
насчёт упростить,.. хз сам бы с удовольствием, но ароде всё нужно)
насчёт всё время 1 клип удаляю,.. в 1 примере там удаляю потому что так работает! во втором просто описался,.. (щас поравил),.. но это нерабочий вариант! вот исходник если интересно ссылка Последний раз редактировалось neFX; 20.01.2008 в 05:15. |
|
|||||
|
вместо этого:
sid = Number(c_status_id);
if (sid == 2) {
mcg = _root.attachMovie("zapis_mc01", "zapis_mc"+i, i);
}if (sid == 1) {
mcg = _root.attachMovie("zapis_mc02", "zapis_mc"+i, i);
}
неудаляется по всей видимости потому что не видит chislo_gorodov |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 49
|
MrPoma: вообщем можно конечно поморочится и упростить ИФ, но мне как то так привычней чесно говоря..
по поваду того что не работает: chislo_gorodov и вравду невидит, однако ставлю в цикле вмето этой переменной число например 3 зарания трэйсом узнав значение этой переменной, и точно так же ничего не происходит... щас подумаю почему не видно переменной.. |
|
|||||
|
ну потрейсите zapis_mc[i]. их он тоже судя по всему не видит
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 49
|
Дауж вы правы,..
попробывал выгружать бокс где лежат все эти клипы... myXML.onLoad = function(success) {
if (success == true) {
_global.chislo_gorodov = ...;
var nod:XMLNode = ...;
id = new Array();
c_status_id = new Array();
for (i=0; i<chislo_gorodov; i++) {
c_status_id = nod.childNodes[i].attributes.status_id;
sid = Number(c_status_id);
if (sid == 2) {
mcg = _root.attachMovie("zapis_mc01", "zapis_mc"+i,i, {...});
}
if (sid == 1) {
mcg = _root.attachMovie("zapis_mc02", "zapis_mc"+i,i, {...});
}
};
trace(mcg);
}
}
};
_level0.zapis_mc0 _level0.zapis_mc1 _level0.zapis_mc2 пробую выгрузить mcg,.. выгружает только последний... myXML.onLoad = function(success) {
if (success == true) {
_global.chislo_gorodov = ...;
var nod:XMLNode = ...;
id = new Array();
c_status_id = new Array();
for (i=0; i<chislo_gorodov; i++) {
c_status_id = nod.childNodes[i].attributes.status_id;
sid = Number(c_status_id);
if (sid == 2) {
mcg = _root.attachMovie("zapis_mc01", "zapis_mc"+i,i, {...});
}
if (sid == 1) {
mcg = _root.attachMovie("zapis_mc02", "zapis_mc"+i,i, {...});
}
exit_but.onPress = function() {
trace(mcg);
mcg.unloadMovie();
_root.gotoAndStop(1);
};
}
}
};
_level0.zapis_mc2 с чем это может быть связано? |
|
|||||
|
ну дык вы же присваиваете переменной mcg мувики в цикле. после первой итерации _level0.zapis_mc1, после второй соответственно _level0.zapis_mc2. т.е. вы перезаписываете ее значение.
обращайтесь к ним так: |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 49
|
всё работает спасибо большое!!
если кому интересно конечный вариант вот.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|