Просмотр полной версии : Как удалить мувиклипы созданные с помощью duplicateMovieClip
Доброе время суток
Имеем
while (j>0){
duplicateMovieClip("_root.TransResp.TransTemp", "TransTempMC"+i, i);
setProperty("TransTempMC"+i, _y, y);
setProperty("TransTempMC"+i, _x, x);
j--;
i++;
}
надо потом все что насоздавали удалить
нахрен
конструкция типа
while (i>0){
"_root.TransResp.TransTempMC"+i+".removeMovieClip";
}
почему то не работает
подскажите как сделать правильно
Nox Noctis
14.06.2002, 15:30
_root.TransResp["TransTempMC"+i].removeMovieClip();
DeliMIter
14.06.2002, 21:48
_root.unloadMovie();
Nox Noctis
15.06.2002, 01:34
MovieClip.prototype.onLoad = MovieClip.prototype.removeMovieClip;
:D
УильямБрэдберри
15.06.2002, 01:53
ну, во-первых чуть переписать надо
while (j>0) {
duplicateMovieClip("_root.TransResp.TransTemp", "TransTempMC"+i, i);
setProperty("_root.TransResp.TransTempMC"+i, _y, y);
setProperty("_root.TransResp.TransTempMC"+i, _x, x);
j--;
i++;
}
а то не достучишься до клипов "TransTempMC"
-----------
во-вторых сделай так:
_root.duplicateArray = [];
while (j>0) {
duplicateMovieClip("_root.TransResp.TransTemp", "TransTempMC"+i, i);
setProperty("_root.TransResp.TransTempMC"+i, _y, y);
setProperty("_root.TransResp.TransTempMC"+i, _x, x);
duplicateArray.push(_root.TransResp["TransTempMC"+i]);
j--;
i++;
}
//=====================================
deleteAll = function()
{
for(var i=0;i<_root.duplicateArray.length;i++)
{
_root.duplicateArray[i].removeMovieClip();
}
delete _root.duplicateArray;
}
//=====================================
// это для кнопки
on (release) {
deleteAll();
}
Nox Noctis
15.06.2002, 02:23
2УильямБрэдберри
можно ведь массив и не городить на самом деле... все равно нужен будет цикл... достаточно запомнить последнее значение переменной 'i' при дублировании клипов...
while (j>0) {
duplicateMovieClip("_root.TransResp.TransTemp", "TransTempMC"+i, i);
setProperty("_root.TransResp.TransTempMC"+i, _y, y);
setProperty("_root.TransResp.TransTempMC"+i, _x, x);
j--;
i++;
}
delCount = i;
deleteAll = function()
{
for(var i=0;i<delCount;i++)
{
_root._root.TransResp.TransTempMC[i].removeMovieClip();
}
delete delCount;
}
все то же самое, зато лишнего массива нету :)
...а если уж делать массив, то лучше, наверное, сделать его как for (i in duplicateArray) {...} - при небольшой и средней длине массивов это работает быстрее (немного, но все же), чем обычный фор :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.