Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   depth - и с чем его едят (http://www.flasher.ru/forum/showthread.php?t=34268)

blackhund 10.07.2002 20:53

depth - и с чем его едят
 
народ, если не сильно облом, объясните пожалуйста что это такое. не то чтобы совсем с нуля а в таком аспекте: я делаю вот что, каждый раз, когда жмут кнопку мыши, создаю дупликат экземпляра клипа, даю ему имя и присваиваю глубину. делаю я это столько раз, сколько нажмут кнопку мыши. и я следующему клипу давал глубину на 1 большую чем предидущему. у меня есть такое подозрение, что глубина эквивалентна номеру слоя, я прав? вопрос состоит в том, можно ли все эти клипы лепить на одной глубине или нет?
и еще одно. я создаю много клипов и хочу чтобы они были под определнным слоем, чтобы нарисованные на этом слое объекты "заслоняли" от зрителя эти клипы, мне что, нужно просто посчитать номер слоя, который находится под данным и присвоить соответствующую глубину клипу? или как?

Egoritch 10.07.2002 22:52

Re: depth - и с чем его едят
 
Цитата:

Оригинал написал(а) blackhund
народ, если не сильно облом

/* skipped */

. и я следующему клипу давал глубину на 1 большую чем предидущему. у меня есть такое подозрение, что глубина эквивалентна номеру слоя, я прав?

нет, не прав. Глубина задается для каждой сцены. Не важно, в каком слое лежит объект, если они все будут на одной сцене (не точно сказал - "сценой" называют немного другое, а я имею ввиду уровень типа), то не имеет значения, в каком они слое, главное - та глубина, которую ты задал при аттаче и дублицировании , swapDepths'e.

Цитата:


вопрос состоит в том, можно ли все эти клипы лепить на одной глубине или нет?

никак нельзя. Глубина у каждого объекта уникальная. Приаттачив мовик на ту глубину, где уже лежал объект, ты удалишь его (старый объект).

Цитата:

и еще одно. я создаю много клипов и хочу чтобы они были под определнным слоем, чтобы нарисованные на этом слое объекты "заслоняли" от зрителя эти клипы, мне что, нужно просто посчитать номер слоя, который находится под данным и присвоить соответствующую глубину клипу? или как?
или как. тебе нужно создать мувик В КОТОРОМ ТЫ БУДЕШЬ как хочешь менять глубину других мувиков. Если родительский мувик будет лежать под каким-то слоем, то и остальные , дочерние, тоже будут под этим слоем.


Что-то я сегодня нездорово добрый :-(

Nox Noctis 11.07.2002 05:48

дополнение насчет МХ:

добавили функцию getDepth, которой так не хватало в пятерке... теперь можно узнать на какой глубине лежит любой клип - включая и те, которые были созданы не динамически, а ручками в таймлайне...

клипы, которые ты кладешь в таймлайн ручками в редакторе размещаются по отрицательным глубинам(глубины начиная с -16384 (это отрицательная половинка типа signed int))

(...что будет если в редакторе создать 16385 клипов - остается только догадываться :)))... правда комп все равно помрет раньше - от инфаркта :)) )

можно дублировать, аттачить, и createMovieClip'ить в отрицательную глубину - таким образом перемещая динамически созданные объекты под статические.

НО swapDepths будет работать только при глубине большей или равной -16384

(кстати, глубина -16384 всегда остается свободной, если только ты специально не положишь туда что-нить... очень удобное свойство ;)) )

зы: эк меня пробило в пять утра :)))

Egoritch 11.07.2002 13:56

Ну Nox Noctis!!!!1 Ну порадовал!!!!

Круто!

DeliMIter 11.07.2002 17:17

Дополнение к Ноксу. Если на некоторой глубине находится клип, то следующая глубина, в которую флэш что-то кладет, индексуется +2, т.е. одна пропускается. Если на этой глубине лежит графика (глубина -16383 для любого клипа), то пропуска не происходит. От того, как в проекте лежат лэйеры и клипы в этих лэйерах, зависит только их очередность, глубина же выставляется в строгом соответствии с вышеуказанным законом. В хелпе макромедия ведет пропаганду за то, чтобы аттачить и дупликэйтить клипы на такие глубины как 0, 1, и тэдэ. При этом указывается, что приаттаченные клипы всегда окажутся поверх надизайненных. Так вот, это гон. Глубина -17000 при непрозрачном бг, и вы никогда не увидите своего клипа!

Интересно будет проверить, а на какую глубину садятся программные лайны и филлы...

Nox Noctis 11.07.2002 17:30

угумс :))
про +2 я забыл :)

а насчет отрицательных глубин - повторюсь: меньше -16384 swapDepths не работает
так что если нужно будет свопнуть клипы лежащие глубже - придется морочиться и дублированием, ручками, менять их местами (при этом оба клипа естессно стартанут сначала и потрут свои переменные)...
в большинстве случаев такое нафиг не нужно :))
(все равно глубина -16384 ниже самой нижней графики)

Egoritch 11.07.2002 17:53

Ну прям "Всё, что Вы хотели узнать о getDepth и changeDepths, но стеснялись спросить" ;))))))

Крутой топик и полезный получился.

DeliMIter 11.07.2002 18:10

Да, давайте модератор вынесет его с пометкой "важно", а нам с Ноксом поставят по плюсику "за ужас".

2Nox

А по-моему можно свапить и ниже. Вечером проверю.

greyshaman 11.07.2002 18:20

Да низя низя. Вот полную зачистку сцены, через attachMovie пустому мувику в цикле, произвести можно. Зачем тока? хотя и занятно.

blackhund 11.07.2002 18:46

м-да... с глубиной все понятно. а все же. как мне решить такую проблему. есть слой (LayerN1), на котором намалеван объект. я в сценарии клипа, который находится над этим слоем (в слое LayerN2), создаю большое множество экземпляров еще одного клипа. только вот я хочу, чтобы эти экземпляры находились ПОД тем другим слоем (LayerN1). как это сделать? методы Flash MX не предлагать :)

зы
похоже я позорю своими сообщениями этот топик...


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

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