Форум 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=71748)

Жень Шень 12.11.2005 12:27

Уровень, будь он неладный
 
Вложений: 1
Привет!
Казалось, с уровнями, глубинами и слоями я разобрался раз и навсегда! Но…
Имею main.swf – оболочка (в примере показана только рамочка) управления подгружаемыми клипами less1.swf… lessN.swf (тоже упрощено до квадратика). При открытии main.swf подгружается less1.swf на уровень 1, а затем перемещаю clip1 главного мувика на уровень 1000.
По идеи clip1 должен быть сверху. Это показывает и trace(_root.clip1.getDepth()), а "на лицо" – наоборот.
Так как подход скажем неизящный, я задачу решил по-другому (с проверкой загрузки итд), но осадок от «непонятки» остался. :mad:
Посмотрите, плз, где наступил на грабли? Спасибо.

iNils 12.11.2005 13:07

Все просто. _level1 имеет глубину -16383, а _level0 -16384
А по скольку clip1 лежит в _level0, то и перемещается внутри глубин _level0 и никогда не будет сверху _level1.
Поэтому вместо clip1.swapDepths (1000) сделай _level0.swapDepths(_level1)

Жень Шень 12.11.2005 14:17

Вау!!! Точно!!!
...
Говорила мама в первом классе: "Почитай Кнута на ночь!"
Спасибки. :)

Штрек 12.11.2005 16:54

Цитата:

Сообщение от iNils
.
Поэтому вместо clip1.swapDepths (1000) сделай _level0.swapDepths(_level1)

Для начала хорошо бы глянуть -
trace(_level0.getDepth());
_level0.swapDepths(_level1)
trace(_level0.getDepth())
или
trace(_level0.getDepth());
_level0.swapDepths(1000)
trace(_level0.getDepth())

Штрек 12.11.2005 16:57

Цитата:

Сообщение от Жень Шень
Вау!!! Точно!!!
...
Говорила мама в первом классе: "Почитай Кнута на ночь!"
Спасибки. :)

Кнут здесь не поможет...
Всё там не только не точно, но мягко говоря -
мимо кассы...... :p

iNils 12.11.2005 17:17

Цитата:

Сообщение от Штрек
Для начала хорошо бы глянуть -
trace(_level0.getDepth());
_level0.swapDepths(_level1)
trace(_level0.getDepth())
или
trace(_level0.getDepth());
_level0.swapDepths(1000)
trace(_level0.getDepth())

А после не плохо посмотреть, что же все же произошло на экране.

Штрек 12.11.2005 17:49

Изменить level0 уровень нельзя по определению......
_level1 имеет глубину -16383 - это с каких таких делов?

iNils 12.11.2005 17:55

Ошибся, это загруженная графика лежит на этой глубине.


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

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