Просмотр полной версии : проблема с глубиной
Где-то уже слышал... но не помню решения
Есть 2 обьекта. Один создается ручками, другой во время выполнения.
И задается им глубина
_root.createEmptyMovieClip("myClip", -16377);
_root.cursor_but.setDepth(-16376);
cursor_but - тот что ручками.
так вот myClip всеравно выше, а cursor_but всеравно -16378
Что не так делаю???
Что значит во время выполнения ? attachMovie или createEmptyMovieClip ? (хотя тогда ты сам указываешь глубину при создании)
_root.cursor_but.setDepth(_root.getNextHighestDepth());
Что значит во время выполнения ? attachMovie или createEmptyMovieClip ? (хотя тогда ты сам указываешь глубину при создании)
в примере так и написано! при создании указываю и все работает (при трейсе показывает глубину что указал) для myClip
а для cursor_but (тот что вручную на сцену поставлен) какую не укажу - 16378 показывает при трейсе.
_root.cursor_but.setDepth(_root.getNextHighestDept h());
не помогло.... все те-же -16378
Задаю глубину в первом и единственном кадре.
Читаю ее в трейс при клике мышкой.
Почему не работает?
Можно ли вручную для обьектов задать эту глубину?
Почему созданный мувик полюбому выше остальных?
А что это за setDepth , откуда взял ???
Открываем хелп и смотрим MovieClip.swapDepths()
А что это за setDepth , откуда взял ???
Открываем хелп и смотрим MovieClip.swapDepths()
мда.... но и так тоже не помогает
_root.cursor_but.swapDepths(-16376);
:( :( :(
что же делать...
ну вообще всё работает.
Что за версия файла? МХ ругается (((
Можно в МХе сохранить?
Спасиб!
motor4ik
04.08.2005, 16:27
у меня была такая проблема..я здесь поднимал эту тему ,но никто так и не ответил!! решение пришло ко мне со временем само собой!!!
такая хрень када у вас несколько кадров и вы переходите с одного на другой, если один кадр то такого быть не должно!
решение такое , вы должны удалить при переходе на другой кадр эти два слоя, они там создадутся заново в новом кадре и можно будет устанавливать глубину!!
у меня была такая проблема..я здесь поднимал эту тему ,но никто так и не ответил!! решение пришло ко мне со временем само собой!!!
такая хрень када у вас несколько кадров и вы переходите с одного на другой, если один кадр то такого быть не должно!
решение такое , вы должны удалить при переходе на другой кадр эти два слоя, они там создадутся заново в новом кадре и можно будет устанавливать глубину!!
У меня всего один кадр. Но мувики никак не реагируют на swapDepths()
Не могу понять почему (((
честно говоря у меня не получилось смоделировать ситуацию по теме топика. все работает правильно, что на одном кадре, что на несколько.
motor4ik
04.08.2005, 17:48
а можно на мувик взглянуть!!!?? так тяжело сказать что можыт быть!!!
может быть элементарная очепятка к примеру, просмотри внимательно еще раз код, и имена клипов!!!
motor4ik
04.08.2005, 17:52
не знаю ребята, реальная запара была, у меня проэкт горел с этими уровнями!! у меня было много кадров, в которых меняли уровни как созданые вручную так и программно мувики, и такая фигня. когда первый раз проходило с 1 по 6 все нормально , swapDepths работал, как только с 6 переходил на 1 swapDepths отказывался работать, все время мувикам которые были сделаны вручную ставилась самая нижняя глубина, и тут я прозрел я просто в переходе с 6го на 1й кадр стал удалять мувики которые сделаны были вручную и все заработало!!!! даже не знаю пока точную причину этому!!!
хотя вот был проэкт примерно такой же еще один, в нем не было такого косяка! видимо есть какая то фигня...нужно только докапаться до сути!!!
потому что swapDepths он не переходит на другой уровень просто, он меняет уровни двух мувиков!!! обменивается уровнями короче!!!
swapDepth имеет два синтаксиса
swapDepth(target) меняет клипы местами
swapDepth(depth) загоняет на нужную глубину
у Мука написано, что глубина может меняться от -16384 до 1048575 включительно. глубины от -16383 до -1 отведены по клипы созданные на этапе разработке. -16384 для динамических клипов которые нужно засунуть ниже клипов созданных на этапе разработке
потому что swapDepths он не переходит на другой уровень просто, он меняет уровни двух мувиков!!! обменивается уровнями короче!!!
Ну да, это и в хелпе про swapDepths написано
MovieClip.swapDepths
Синтаксис
anyMovieClip.swapDepths(depth);
anyMovieClip.swapDepths(target);
Аргументы
target Мувиклип, который должен обменять уровень своего местонахождения с уровнем клипа, заданным в anyMovieClip. Оба мувиклипа должны принадлежать одному и тому же родительскому клипу (находиться на одной линейке Прим. редактора)
depth Номер уровня, на который будет перемещен anyMovieClip.
Описание
Метод; обменивает порядок расположения, или Z-порядок (уровень глубины) данного мувиклипа с клипом, указанным в аргументе target или с клипом, который в данный момент занимает уровень depth, заданный в аргументе. Оба мувиклипа должны принадлежать к одному и тому же родительскому клипу. Обмен уровнями создает эффект перемещения одного клипа за или под другой. Если в момент вызова этого метода мувиклип находится в состоянии анимации "tweening", последняя останавливается.
Player
Flash 5 или выше.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.