
Код:
function SortMas() {
for(dl = 0; dl <= BSKDel.length-1; dl++) {
bx = typeof(BSKDel[dl]);
if(bx != movieclip ) {
// ЗДЕСЬ Я ПРИДУМАЮ КАК ПЕРЕСЧИТАТЬ МАССИВ, А ВОТ КАК ОТЛОВИТЬ ЭТОТ УДАЛЕННЫЙ МУВИК ИЛИ ОСТАВШЕЕСЯ МЕСТО ИЗ ПОД НЕГО???
}
BSKDel[dl]._visible = true;
BSKDel[dl]._x = 20;
BSKDel[dl]._y = 10+dl*20;
//trace(bx);
}
trace(BSKDel.length);
}
function MASDel() { // ФУНКЦИЯ ОТЛОВА НАЖАТИЯ НА МУВИК
for(dl = 0; dl <= BSKDel.length; dl++) {
BSKDel[dl].onRelease = function() { this.removeMovieClip(); BSKDel.splice(dl, 1); SortMas();}
}
}
Ситуация такая - есть массив BSKDel с дублированными мувиками, которые выстраиваются в колонку. В функции MASDel - происходит отлов нажатия на какой либо мувик, который должен удалиться, а затем массив пересчитывается с учетом удаленного мувика, то есть пустой строчки, от удаленного мувика не должно остаться, остальные мувики, находящиеся под удаленным должны подняться на позицию вверх. Бьюс с этим уже не один час, но ни че в голову умного не приходит. В BSKDel.splice(dl, 1) использовал вместо переменной dl конструкцию this, но эффекта ноль. Проверял длину массива с учетом изменений, она остается прежней(!). Может все дело в позиции, с которой он должен удалить элемент, но как отловить эту позицию??? Просматривал массив через trace, выводит mc1, mc2,,,,mc6,mc7,mc8... После mc2 ссылки на мувики отсутствуют, но места под них отсаются(!!), что и подтверждает длина массива остается неизменной, даже после удаления всех мувиков... Мож кто знает, у меня мозг отказывается понимать эту ситуацию, использовал все что мог, даже проверку на тип элементов, сравнение с null, undefined, ' ', ""... Вроде все перепробовал,но а воз и ныне там...