La construction d'une interface ou d'une mise en page peut se faire manuellement, à base de glisser-déplacer de symboles de la bibliothèque vers la scène, mais il est également possible d'exécuter des lignes d'instructions pour aboutir au même résultat. - Créer un symbole de type Clip.
- Dans la bibliothèque de votre animation, effectuez un clic-droit sur le clip que vous avez créé et sélectionnez la commande "Liaison…".
- Cochez la case Exporter pour ActionScript.
- Donnez un nom de classe (Nom qui démarre par une majuscule, sans accents ni caractères spéciaux et pas d'espace non plus). Exemple : Etoile
- Validez la fenêtre par un clic sur le bouton OK.
Vous venez de préparer un symbole afin qu'il puisse être placé dynamiquement sur la scène à partir de quelques lignes d'instructions, saisissez à présent le script ci-dessous dans la fenêtre Actions de votre animation.
var etoile1 = new Etoile(); addChild(etoile1); etoile1.x = 200; etoile1.y = 150;
Résultat de l'exécution de ces lignes d'instructions : une occurrence du symbole dont le nom de liaison est Etoile est placée sur la scène. En théorie, deux lignes d'instructions suffisent à placer un symbole sur la scène, afin d'obtenir une occurrence, dans la pratique, nous avons toujours besoin de placer cette occurrence.
Lorsqu'une occurrence a été placée sur la scène, il devient alors possible de lui associer un gestionnaire d'évènement. var etoile1 = new Etoile(); addChild(etoile1); etoile1.x = 200; etoile1.addEventListener(MouseEvent.MOUSE_DOWN,agrandir); function agrandir(evt:MouseEvent) { evt.currentTarget.scaleX+=0.1; evt.currentTarget.scaleY+=0.1; } Supprimer dynamiquement une occurrence Lorsqu'une occurrence a été placée dynamiquement ou manuellement sur la scène, il est très simple de la supprimer car il vous suffit de faire appel à la méthode removeChild().
Dans l'exemple ci-dessous, un symbole de type clip a été placé sur la scène, l'occurrence obtenue a été nommée cache1 et le script ci-dessous a été saisi dans la fenêtre Actions.
cache1.addEventListener(MouseEvent.MOUSE_DOWN,supprimer); function supprimer(evt:MouseEvent) { removeChild(cache1); }
Attention, lorsque vous imbriquerez des instances, vous devrez spécifier le chemin en ajoutant devant la méthode removeChild(), le nom de l'instance parent. Faire référence à un nom de classe sous forme de chaine de caractères var UnCarre:Class=getDefinitionByName("Carre") as Class; var monCarre:Carre = new UnCarre(); addChild(monCarre)
Carre est le nom de classe de mon symbole avec liaison.
|