Uma coisa muito importante de entender no Flash é a Display List, ela é responsável pelo agrupamento dos elementos visíveis da sua aplicação.
Todos os Display objetcs de uma aplicação em ActionScript 3.0 pertencem a uma lista que conhecemos como Display List.
No topo dessa lista, está nosso objeto Stage, ele é o palco do nosso filme e pode ser acessado por qualquer outro Display object pela propriedade “stage”.
Display objetcs são todos os elementos visíveis de uma aplicação, os Shapes, os Sprites, os MovieClips etc.
Também existem os Display object containers que tem por diferença, a habilidade de agrupar outros Display objetcs e Display object containers.
Esses por sua vez são chamados de “childs”, seus filhos.
Ao adicionar um Display object como filho (child), ele recebe um índice (index) referente ao número de filhos que seu pai já possuí.
Esse índice é responsável pela representação visual em cascata do Flash, como um objeto sobre o outro.
Para adicionar um Display object num Display object container é só usar o método “addChild()” passando como argumento o filho a ser adicionado.
Adicionando um objeto no palco:
1 2 | var filho:Shape = new Shape(); stage.addChild(filho); |
Nossa instancia filho, não pode ter um filho (child) adicionado, porque Shape é um Display object e não um Display object container.
Se nosso filho fosse um Sprite ou MovieClip, ele poderia ser pai, e ter um filho (child).
1 2 3 4 | var pai:Sprite = new Sprite(); var filho:Shape = new Shape(); stage.addChild(pai); pai.addChild(filho); |
Tornando assim, nosso Stage vô. rs
Os índices são adicionados aos filhos gradativamente, sendo que o primeiro recebe 0.
1 2 3 4 5 6 | var pai:Sprite = new Sprite(); var filho1:Shape = new Shape(); var filho2:Shape = new Shape(); stage.addChild(pai); pai.addChild(filho1); //Indice 0 pai.addChild(filho2); //Indice 1 |
Para saber o número de filhos (childs) que um pai (Display object container) tem, usamos a propriedade numChildren.
E pra acessar esses filhos pelo seu índice usamos o método “getChildAt()” passando como argumento o índice.
Seguindo o código anterior:
1 2 3 4 5 | pai.name = "Francisco"; filho1.name = "Zezé di Camargo"; filho2.name = "Luciano"; trace("Francisco tem " + pai.numChildren + " filhos"); trace("Um é o " + pai.getChildAt(0) + " e o outro é o " + pai.getChildAt(1)); |
Nossa Display list é como uma família. Temos o Stage como o primeiro da “ninhada”, os seus filhos, que seriam os Display objects e Display object Containers, os seus netos, que são os Childs dos Display object containers e por aí vai.
Não esqueça a hierarquia dessa família na aplicação que não terá problemas. ;)
Abraço.

em 29 de abril de 2009
Assim cuidar da familia do seu site vai ser simples =]
em 15 de junho de 2009
Belo post, bem explicativo e simples, ate os miguxos vão entender =]