Получение / моделирование функциональности "слоя" во время выполнения во Flash под ActionScript 3 - PullRequest
0 голосов
/ 22 апреля 2010

Существуют ли какие-либо классы AS3, помогающие упорядочить объекты в слои, как в конструкторе, чтобы у всех объектов был один и тот же родитель?

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

Насколько я понимаю, понятие слоев во время разработки не существует во время выполнения, а объекты просто имеют индекс глубины.

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

На заметку ... Как маски слоя во время разработки проявляются во время выполнения в AS3? Я подумал, что, возможно, все объекты в маскированном слое имеют один и тот же объект маски, но свойство «mask» кажется нулевым для всех объектов в маскированном слое, даже если они имеют ту же родительскую временную шкалу, что и немаскированные объекты (то есть немаскированный объект слоя parent == родительский объект маскированного слоя, поэтому, похоже, никакие маскированные подконтейнеры не используются).

Ответы [ 2 ]

0 голосов
/ 24 апреля 2010

Один из способов реализации слоев - создать пустой Sprite для каждого слоя и добавить нужные объекты в каждом слое в соответствующий Sprite в качестве дочерних. Затем эти «слои» можно сортировать так же, как вы обычно сортируете экранные объекты.

0 голосов
/ 23 апреля 2010

Вы можете изменить порядок слоев объектов во время выполнения на основе их «дочернего индекса». В основном вы используете метод container.setChildIndex(child, index). Любой объект с более высоким индексом будет отображаться поверх любого дочернего с более низким индексом. Есть также две вспомогательные функции swapChildren (child1, child2) и swapChildrenAt (index1, index2) для замены индекса двух дочерних элементов за один вызов вместо необходимости создавать два.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...