PDA

Просмотр полной версии : Друзья. Не могу поделейтить movieclip!


MyXus
02.09.2005, 15:07
:confused: пишу delete _root['mask_'+id];
А не делейтится.
Плиз! Ургент =)

Iv
02.09.2005, 15:11
продробненько:

var movie_for_remove = _root['mask_'+id];
trace(movie_for_remove)
movie_for_remove.removeMovieClip()
trace(movie_for_remove)
movie_for_remove.swapDepths(9999)
movie_for_remove.removeMovieClip()
trace(movie_for_remove)

MyXus
02.09.2005, 15:55
Спасибо, работает. Только я не понял что такое swapDepths(). Ни в родном ни в альтернативном хелпе не нашел.. Даже на флэш-риппере нет.
Похоже, эта чтука должна удалять освободившийся лэер?, что было не плохо =)

iNils
02.09.2005, 16:08
Ни в родном ни в альтернативном хелпе не нашел..
а это что?

MovieClip.swapDepths

Доступность


Flash Player 5.

Синтаксис


myMovieClip.swapDepths(depth)
myMovieClip.swapDepths(target)
Параметры


target Экземпляр мувиклипа, который должен поменять свой уровень вложенности (Depth) на уровень, в котором находится myMovieClip. Оба мувиклипа должны иметь одного "родителя" (т.е. находится на одной линейке (Timeline)).

depth Число, определяющее уровень вложенности для myMovieClip .

Возвращает


Ничего.

Описание


Метод, меняет уровень вложенности (еще его называют Z-порядок) myMovieClip на уровень, где находится мувиклип, определенный в аргументе target или уровень, указанный в аргументе depth. Оба мувиклипа должны находится на одной линейке (Timeline). Обмен уровнями создает эффект перемещения одного мувиклипа над/под другим мувиклипом. Если в момент вызова этого метода мувиклип содержит анимацию, анимация останавливается.

Iv
02.09.2005, 16:24
первое что в таком случае стоит сделать это выделить слово во flash и нажать F1
флэш сам откроет хелп на нужном месте.

Iv
02.09.2005, 16:26
если твой мувик был создан руками,
т.е./или находится на отрицательной глубине,
swapDepths юзается чтобы переместить его
на любую положительную глубину.
если этого не сделать, то мувик удален
с отрицательной глубины не будет.

Штрек
03.09.2005, 00:24
добавлю, что если загнать мувик слишком высоко,
напр. на уровень 10000000, то удалить его
также не удастся.......

iNils
03.09.2005, 00:49
добавлю, что если загнать мувик слишком высоко,
напр. на уровень 10000000, то удалить его
также не удастся.......
точнее больше 1048575

MyXus
03.09.2005, 01:55
А если я буду в большом количестве криейтить муви клипы на getHighestDepth(), а потом их делейтить, и снова криейтить, то чисто теоретически я могу упереться в этот потолок в depth=2^20? Или для этого мне придется завести одновременно миллион мувиков?

Штрек
04.09.2005, 20:26
getNextHighestDepth() не выдаёт внаглую
уровень выше предыдущего,
а ищет любой свободный/положительный/ уровень.....

this.createEmptyMovieClip('m1', this.getNextHighestDepth());
trace(this.m1.getDepth());
this.createEmptyMovieClip('m2', this.getNextHighestDepth());
trace(this.m2.getDepth());
this.m2.removeMovieClip();
this.createEmptyMovieClip('m3', this.getNextHighestDepth());
trace(this.m3.getDepth());

MyXus
04.09.2005, 21:59
спасибос!