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

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

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

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

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

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

2 ответа

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

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

Другие вопросы по тегам