Flash AS3 - display list

De EduTech Wiki
Aller à la navigation Aller à la recherche

<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.

Exemple d'une display list. Source: Adobe

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) de la façon suivante:

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.

Exemple d'une display list (version Anglaise, source: Adobe)

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


Remerciement et modification du copyright