Руководство по actionscript. часть 3, стр. 125
_А_
щ в API управления глубиной отображаемых объектов языка ActionScript 2.0 допускалось Ур^Д существование «незаполненных» глубин. Например, в контейнере, содержащем всего ^лт^ два объекта, первый объект мог иметь глубину, равную 0, а другой объект — глубину, равную 40, оставляя незаполненными глубины от 1 до 39. В API управления глубиной отображаемых объектов языка ActionScript 3.0 появление незаполненных глубин не допускается и вообще невозможно.
Отображаемым объектам, добавляемым в контейнер с помощью метода addChi Id ( ), позиции глубины присваиваются автоматически. Если взять пустой контейнер, то первый ребенок, добавленный через метод addChi Id ( ), помещается на глубину 0, второй — на глубину 1, третий — на глубину 2 и т. д. Таким образом, объект, добавленный последним через метод addChild ( ), всегда отображается поверх остальных детей.
В качестве примера продолжим работу с программой GreetingApp из предыдущего раздела. На этот раз мы нарисуем круг и прямоугольник в отдельных экземплярах класса Shape, чтобы их можно было размещать в стеке независимо друг от друга. Кроме того, изменим позиции круга, прямоугольника и текста таким образом, чтобы они перекрывались. Рассмотрим измененный код (этот код и другие примеры данного раздела взяты из метода-конструктора класса GreetingApp):
// Прямоугольник
var rect:Shape = new Shape( );
rect. graphi cs. 1 i neSty1e(1):
rect. graphi cs. begi nFi11(OxOOOOFF. 1):
rect. graphics. drawRect(0. 0. 75. 50);
// Круг
var circle:Shape = new Shape( );
ci rcle. graphi cs.1i neSty1e(1):
circle. graphics. beginFi 11(OxFFOOOO. 1):
circle. graphics. drawCircle(0. 0. 25);
circle. x = 75:
circle. у = 35;
// Текстовое сообщение
var greeting_txt:TextField = new TextField( ): greeting_txt. text = «Hello world»: greeting_txt. x = 60; greeting_txt. y = 25;
Теперь попытаемся добавить прямоугольник, круг и текст в качестве детей экземпляра класса GreetingApp, используя различные последовательности. Следующий код сначала добавляет прямоугольник, затем круг и после него — текст:
. addChiId(rect); // Глубина О
addChild(circle): // Глубина 1
addChi1dCgreeting_txt); // Глубина 2
Как показано на рис. 20.5, прямоугольник был добавлен первым, поэтому он отображается под кругом и текстом. Затем был добавлен круг, поэтому он отображается поверх прямоугольника, но под текстом. Текст был добавлен последним, поэтому он отображается поверх прямоугольника и круга.