Flash AS3 - display list
Cet article est incomplet.
Il est jugé trop incomplet dans son développement ou dans l'expression des concepts et des idées. Son contenu est donc à considérer avec précaution.
<pageby nominor="false" comments="false"/>
Introduction
Le display programming (programming de l'affichage) ous permet de manipuler des éléments qui s'affichent sur la scène du Flash ou AIR Player.
Le guide Programmation avec ActionScript 3.0 pour Flash définit les concepts fondamentaux de la programmation de l'affichage (consulté le 15 déc 2010).
On distingue entre 3 éléments:
- Le stage (la scène)
- Les objets d'affichage simple
- Les conteneurs d'objets d'affichage
Les éléments d'affichage se rangent dans un ou plusieurs groupes suivants:
(1) Stage - scène
La scène constitue le conteneur de base des objets d'affichage. Chaque application comporte un objet Stage, qui contient tous les objets d'affichage à l'écran. La scène correspond au conteneur de plus haut niveau et domine la hiérarchie de la liste d'affichage :
Chaque fichier SWF est associé à une classe ActionScript qui est une extension de la calsse Sprite. Lorsqu'un fichier SWF s'ouvre dans Flash et l'occurrence créée est ajoutée en tant qu'enfant de l'objet Stage.
Vous pouvez accéder à la scène via la propriété stage de toute occurrence de DisplayObject, autrement dit chaque objet qui est affiché. Il n'existe pas de variable globale qui contient l'objet stage.
(2) Display Objects - objets d'affichage
Dans ActionScript 3.0, tous les éléments qui apparaissent à l'écran dans une application sont des types d'objets d'affichage. Le package flash.display comprend une classe DisplayObject, qui correspond à une classe de base étendue par diverses autres classes. Ces autres classes représentent divers types d'objets d'affichage, tels que les formes vectorielles, les clips et les champs de texte, pour n'en citer que quelques-uns. Pour une présentation de ces classes, voir par exemple l'article sur les Objets interactifs
(3) Display object containers - conteneurs d'objets d'affichage
Les conteneurs d'objets d'affichage sont des types spéciaux d'objets d'affichage qui, outre leur propre représentation visuelle, peuvent également comporter des objets enfant qui sont aussi des objets d'affichage.
La classe DisplayObjectContainer est une sous-classe de la classe DisplayObject. Un objet DisplayObjectContainer peut contenir plusieurs objets d'affichage dans la liste d'enfants correspondante. Par exemple, l'illustration suivante contient un type d'objet DisplayObjectContainer appelé Sprite qui comporte divers objets d'affichage :
Dans le contexte des objets d'affichage, les objets DisplayObjectContainer portent également le nom de conteneurs d'objets d'affichage voire, tout simplement, de conteneurs. Comme indiqué précédemment, la scène est un conteneur d'objets d'affichage.
Manipulations de la display list
Le développeur peut notamment:
- Ajouter des objets d'affichage à la liste d'affichage
- Supprimer des objets de la liste d'affichage
- Transferer des objets entre les conteneurs d'objets d'affichage
- Déplacer desobjets devant ou derrière d'autres objets
La méthode addChild
La méthode addChild() permet d'ajouter un symbole dans un containeur (tout clip est un conteneur). Si le containeur est la scène, il faut définir la fonction ainsi:
stage.addChild(child); // equivalent de this.stage.addChild(child);
child est un display object, par exemple un clip ou un graphique.
Si le conteneur appelé (instance_clip ci dessous) est une autre instance de classe:
instance_clip.addChild(child);
La méthode removeChild
child est un display object, par exemple un clip ou un graphique.
Instance.removeChild(child);
....
removeChild(child);
....
child.parent.removeChild(child);
Références