PDA

Просмотр полной версии : Как duplicateMovieClip задвинуть под прочие мувики?


Мимоход
22.11.2003, 21:54
Произвожу duplicateMovieClip, которые потом остаются "жить" в ролике. Но они создаются как будто в верхнем слое, перекрывая собой все прочее, а они должны быть внизу, на бекграунде. Как быть? Оригинал (дублируемый мув) находится в самом нижнем слое...

Dr.OH
22.11.2003, 21:59
попробуй duplicateMovieNum, по-моему так пишется, в ней можно явно указывать слой.

Мимоход
22.11.2003, 22:07
Ща...

Мимоход
22.11.2003, 22:10
Не хавает...

Sanik
22.11.2003, 23:55
Оригинал написал(а) Dr.OH
попробуй duplicateMovieNum, по-моему так пишется, в ней можно явно указывать слой.
:)
=============================================
2Мимоход
_root.mc.duplicateMovieClip("mc1", 1 );
мс1-это новое название мувика, 1-это depth(глубина)-вот её и юзай.

sergwizard
23.11.2003, 00:16
попробуй duplicateMovieNum, по-моему так пишется, в ней можно явно указывать слой.

Круто задвинул!!! Явно, не подумав!

2Мимоход
myMovieClip.duplicateMovieClip(newname, depth [,initObject])
duplicateMovieClip(target, newname, depth)

depth – это глубина, на которую ты дуплишь свои клипы. Задай ее меньше, чем -16384, и все твои дубликаты лягут ниже любых, выложенных вручную на сцену инстансов.

ilya_cat
24.11.2003, 13:53
Меньше, чем 16384, не получится - флеш этого просто не позволит.

Самый нижний слой в таймлайне имеет именно этот номер. Так что если добавишь вниз несколько десятков слоев, это позволит тебе дублировать клипы вниз.

Nox Noctis
24.11.2003, 14:07
Оригинал написал(а) ilya_cat
Задай ее меньше, чем -16384, и все твои дубликаты лягут ниже любых, выложенных вручную на сцену инстансов.
Оригинал написал(а) ilya_cat
Меньше, чем -16384, не получится - флеш этого просто не позволит.

Самый нижний слой в таймлайне имеет именно этот номер. Так что если добавишь вниз несколько десятков слоев, это позволит тебе дублировать клипы вниз.
так :)
глубина -16384 по умолчанию НЕ занята никогда.
эти можно пользоваться...
только надо не забыть о том, что чтобы удалить такое чудо, его сначала нужно свапнуть на неотрицательную глубину.

и второе - дублировать и аттачить ниже -16384 нельзя...
а вот createEmptyMovieClip'ить - можно.
этим тоже можно пользоваться...
только созданный таким образом клип уже никак не удалить :)
даже с помощью свапа.

хотя всегда остается возможность на его место скриейтить пустой клип.

Ice_com
24.11.2003, 14:30
А если так.
Следующие строчки множат test десять раз (значение amount). Переменная i (depth) используется для того, чтобы создать уникальное имя и положить новый мувик на уникальную глубину.

on(release) {
amount = 10;
while(amount>0) {
duplicateMovieClip (_root.test, "mc" + i, i);
setProperty("mc" + i, _x, random(275));
setProperty("mc" + i, _y, random(275));
setProperty("mc" + i, _alpha, random(275));
setProperty("mc" + i, _xscale, random(50));
setProperty("mc" + i, _yscale, random(50));
i = i + 1;
amount = amount-1;
}
}

А удаляй тогда при помощи removeMovieClip(target);
где target - путь к созданному посредством duplicateMovieClip
мувику.

Попробуй этот вариант у меня все работает.

sergwizard
25.11.2003, 00:42
и второе - дублировать и аттачить ниже -16384 нельзя...
Да, это я лохнулся. Совершенно забыл. Никому не говорите. ;) Значит, можно сделать примерно так:

Мимоход
25.11.2003, 20:13
Ничего не сделал, только спросил... А тут такое!
Про слои понял. Программно созданные объекты всегда выше созданных "физически" (нарисованных). Так?
ОК. А зачем размещать duplicateMovieClip на уникальном слое, через тот же счетчик, положим? Это необходимо всегда или только в узкоспециальных случаях?
И еще. Создаю мувик. Просто рисую. На каком он слое (по умолчанию)?

Всем спасибо за помощь!
А все дело в этом недоделанном коте!

Ice_com
25.11.2003, 23:39
Оригинал написал(а) Мимоход
А зачем размещать duplicateMovieClip на уникальном слое, через тот же счетчик, положим? Это необходимо всегда или только в узкоспециальных случаях?
И еще. Создаю мувик. Просто рисую. На каком он слое (по умолчанию)?


Это необходимо, иначе они будут перекрывать друг друга. Только не слой как ты написал, а глубина. И потом это необходимо, чтобы управлять ими, скажем если тебе необходимо будет удалить дупликат за ненадобностью (при этом если оставить все на одной глубине удалится и исходный и дублированный мув вместе).

По умолчанию на нулевом (_level10) и это умолчание, на сколько мне извсетно, ни как не изменить если речь идет о главном муве.

Мимоход
26.11.2003, 12:22
Понял, спасибо!