Как определить, на каком слое создается дочерний элемент при использовании Flash CS5 AS3? - PullRequest
1 голос
/ 30 марта 2011

Мне нужно отобразить дочерний элемент в слое 2. Как мне с помощью AS3 динамически создать дочерний элемент в кадре 2?

Ответы [ 3 ]

3 голосов
/ 30 марта 2011

«Уровень 2» недостаточно конкретен.Какой слой в каком контейнере экранного объекта?

Вот хорошая статья о программировании списка отображения , которая должна оказаться полезной.

Чтобы ответить на ваш вопрос, вы должны определить родительский displayObject и вызвать его метод addChild с целевым дочерним displayobject в качестве параметра.Если ваш родительский displayObject является содержащим классом (классом, который расширяет DisplayObject, например, Sprite), вы можете просто вызвать addChild () или this.addChild ().Чтобы добавить дочерний элемент не на самый верхний слой, вы можете использовать addChildAt ().

        var someclip:Sprite = new Sprite();
        var someOtherClip:Sprite = new Sprite();
        var yetAnotherClip:Sprite = new Sprite();
        var someLibrayClip:LibraryClip = new LibraryClip();

        this.addChild(someClip);
        this.addChildAt(someOtherClip,0);
        someOtherClip.addChild(yetAnotherClip);
        someOtherClip.addChildAt(someLibrayClip,0);
        etc...

Обратите внимание, что список отображения представляет собой стек, подобный массиву, и в его случае может не содержать пустых индексов.Если вы хотите что-то в слое 2, там также должны быть пункты в 0 и 1.

Надеюсь, это поможет -

1 голос
/ 30 марта 2011

Слои существуют только во Flash IDE.Они не являются частью системы отображения списка Flash Player.Таким образом, вы не можете указать, в какой слой попадает ребенок.Используйте addChild() или addChildAt() для добавления дочерних элементов в контейнеры.

0 голосов
/ 30 марта 2011
  1. Создать символ в библиотеке, в котором ничего нет. Я обычно называю их пустыми.
  2. Поместите экземпляр этого символа на сцену, где он вам нужен. Дайте экземпляру имя. Ради этого ответа это empty_mc.
  3. Тогда в AS сделать
var whatever : Whatever = new Whatever();
empty_mc.addChild(whatever);

в соответствующем месте.

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