Показать сообщение отдельно
Старый 13.03.2006, 22:39
sem1313 вне форума Посмотреть профиль Отправить личное сообщение для sem1313 Найти все сообщения от sem1313
  № 6  
Ответить с цитированием
sem1313

Регистрация: Feb 2006
Сообщений: 588
2Король и Антарес, спасибо. Но это не срабатывает. Я знаю как удалить элемент из массива, но суть в том, что это можно сделать, если ты знаешь с какой позиции нужно удалить элемент. Array.splice(n, 1) - работает, когда n-определена, но в том то вся и загвоздка, что n в цикле for не может быть определена, выдает - undefnined.
Код:
for(dl = 0; dl <= BSKDel.length-1; dl++) {
             BSKDel[dl].onRelease = function() {
		as = String(this);
		trace(dl); // ВЫДАЕТ UNDEFINED
                          trace(as); // ВЫДАЕТ _level0.MovClip1_mc.Dubl1 - например
		trace(as.slice(-1,1)); //ВООБЩЕ НИЧЕГО НЕ ВЫДАЕТ
                          this.removeMovieClip(); 
		BSKCol[dl].removeMovieClip();
		BSKDel.sort();
		BSKDel.shift(); 
		}
	}
Траблу с удалением из массива определенного элемента, я все же решил, и она в листинге описана. Это пригодиться всем, кто столкнется с такой ситуёвиной. Кому интересно, объясню. Сначало ремувим клип. Из массива ссылка на клип удаляется, но место из под ссылки остается, т.е. длина массива остается прежней. Дальше делаем сортировку массива по типам. Первым элементом становится как раз тот бывший элемент, который мы ремувили, а точнее место из под него. Ну а дальше Array.shift() - удаляет первый элемент в массиве. Все прекрасно работает, но главной цели так и не добились. Как узнать порядковый номер элемента в массиве, на который кликнули??? Если бы не второй динамический массив с дублированными мувиками, то я бы успокоился, и не забивал бы голову. Но мне нужно определить позицию клипа, который ремувили, для того что бы удалить с этой же позиции элемент в другом массиве.
Я решил попробовать таким способом. Мувики дублируются, и к их идентификаторам в конце приписывается номер, который с каждым последующим дублированием увеличивается на единицу(_level0.MovClip1_mc.Dubl1 - например). Так вот мне нужно, всего то, узнать этот номер. Он и будет порядковым номером элемента в массиве.
Но и тут облом. as = this, и последующее приведение к типу String срабатывает, и прекрасно записывается в переменную. Задача упрощается до нельзя. Нужно выципить число, стоящее в конце строки. Тут должно работать as.slice(-1,1), но ни чего не происходит. Даже trace не выводит результат. Окошко появляется, но ни чего в нем нет(!)...

У меня следующий вопрос, как из ссылки(_level0.MovClip1_mc.Dubl1) получить значение цифры, стоящей в конце?
Мож кто знает другой вариант решения этой (думаю все уже поняли о чем речь) ситуации?