Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Глубина клипов (http://www.flasher.ru/forum/showthread.php?t=110253)

vitalian 30.03.2008 16:03

Глубина клипов
 
Привет уважаемому All'у.

Долгое время считал, что глубина - штука абсолютная и два клипа на одной глубине существовать не могут.
Однако надысь столкнулся с любопытным явлением:

Код:

var Shar1:MovieClip = this.attachMovie("sphere", "sphere_"+1, 1);
Shar1._x = Shar1._y = 50;
var Shar2:MovieClip = this.attachMovie("sphere", "sphere_"+2, 2);
Shar2._x = Shar2._y = 100;
var Shar3:MovieClip = this["Shar2"].attachMovie("sphere", "sphere_"+3, 1);
Shar3._x = Shar3._y = 150;
trace(this["Shar1"].getDepth());
trace(this["Shar2"].getDepth());
trace(this["Shar3"].getDepth());

Два клипа, Shar1 и Shar3, лежат на глубине "1", только один - на _root, а другой на Shar2.
Получается, что вытеснение имеет место лишь для тех клипов, которые вдобавок к глубине имеют общее основание?..

crc 30.03.2008 17:22

конечно, откуда взятся "вытеснению", если объекты "лежат" в разных местах:)

vitalian 30.03.2008 18:24

ну вот так думалось...
нигде ведь не пишется, что она не просто сама себе depth, а конкретно parentMovieClip.depth.

Я стоко времени пугался проектирования сложных проектов, где схема глубин должна быть железно продумана до написания первой строчки кода. А тут, извольте; для каждого набора объектов делаешь свой мувик, и в нем можно опять с нуля...

Molecula 31.03.2008 11:07

Можно писать не:
Код:

trace(this["Shar1"].getDepth());
а:
Код:

trace(Shar1.getDepth());

vitalian 31.03.2008 12:37

Molecula
хм-м.. благодарю) не знал. Юзал eval, но он не всегда срабатывает.


Часовой пояс GMT +4, время: 09:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.