PDA

Просмотр полной версии : Пропадает визуально слой, может перекрытие?


rixs
06.05.2009, 20:45
Привет)

Задача стоит такая:
проигрывается мувик (меню) и одновременно подгружается на фон джипег из папки.

Код для слоя с фоном:
this.createEmptyMovieClip("menu_mc", this.getNextHighestDepth());
menu_mc.createEmptyMovieClip("background_mc",0);
menu_mc.background_mc.loadMovie("path/bg01.jpg");
В итоге играется мув - картинка подгрузилась, видна.... а вот все остальные слои, которые над фоновым - не видны, однако курсор на кнопки реагирует (превращается в поинтер).
Убираю картинку - все видно, все играется. :o

В чем может быть проблема? Разве картинка может перекрывать верхние слои? или тут дело в контейнере "background_mc", куда она помещается?

Stargazer
06.05.2009, 21:15
Во второй строке глубина указана равной нулю - это для того, чтобы фон оказался самым нижним? А на каком слое нарисовано меню?

rixs
06.05.2009, 21:35
Во второй строке глубина указана равной нулю - это для того, чтобы фон оказался самым нижним? А на каком слое нарисовано меню?

Ну как бы да, нулевой уровень создает контейнер, еще пока пустой, в который потом вставляется джпг.
А меню - все остальные слои сверху, вот:
http://img140.**************/img140/5355/40676948.jpg
нижний слой и есть фон.

iNils
06.05.2009, 21:49
В swf нет слоев. Все объекты на слоях в fla, при компиляции получают отрицательные глубины. А вы создаете клип на 0-ой глубине, то есть выше всех.
Для таких случаев зарезервирована специальная отрицательная глубина -16384, все объекты со сцены будут выше нее.

rixs
06.05.2009, 22:24
хм, не знал этого, спасибо))

и как тогда мне поступить, вместо "0" указать "-16384"?

Stargazer
06.05.2009, 23:03
и как тогда мне поступить, вместо "0" указать "-16384"?

Поместите заранее на сцене на нижнем слое пустой клип (он, естественно, будет иметь ту самую отрицательную глубину, которую иным путём будет сложно организовать). И уже в этом клипе организуйте загрузку картинки.

rixs
07.05.2009, 12:19
Ну вроде так и сделал - в основной сцене (см. рис. выше), где находятся и остальные слои, на самом нижнем слое создал клип "bg". в нем один кадр со скриптом:
loadMovie("menu_bgs/bg01.jpg",0);

// пробовал и такие варианты
loadMovie("menu_bgs/bg01.jpg","_root.bg");
loadMovie("menu_bgs/bg01.jpg","_level0");
больше никаких скриптов нигде нет...

Нифига... то картинка грузится без меню, то меню играется без картинки, в зависимости от указания глубины...

Если верхние слои тоже надо было загнать в мувик в основной сцене и поместить выше фонового, то и это делал, не помогло...

в чем еще я мог ошибиться?:o

Добавлено через 3 часа 54 минуты
Фуф, готово!

Ошибся в том, что надо было еще одну строчку добавить)) :

this.createEmptyMovieClip("bg_mc",0);
bg_mc.loadMovie("menu_bgs/bg01.jpg",0);

И точку регистрации сделать слева вверху. Тогда все подгружается и играется:victory:

Всем спасибо))