Archives par mot-clé : CookBook

Instancier Dynamiquement une Classe de la bibliothèque Flash

Régulièrement je recherche sur le net des petits bouts de code, des recettes pour mes développements. Pourquoi ne pas les mettre carrément sur mon site. N’hésitez pas, servez-vous !

Ici c’est une recette ActionScript 3 qui permet d’appeler dynamiquement un objet qui est enregistré dans la bibliothèque de Flash avec un nom de « AS linkage »
Par exemple vous souhaitez faire apparaitre sur la scène plusieurs popups en fonction de boutons présents sur la scène.

Les boutons sont nommés « bt1 », « bt2 », etc …
Les objets movieclip sont créés dans la bibliothèque avec comme nom de classe (AS linkage, pas le nom d’acteur) « Pop_bt1 », « Pop_bt2 », etc …
Il suffit de créer une fonction générique qui va récupérer le nom du bouton pour appeler le bon acteur de la bibliothèque et l’ajouter à la scène.

Exemple :

bt1.addEventListener(MouseEvent.CLICK, ouvrePop);
bt2.addEventListener(MouseEvent.CLICK, ouvrePop);
// La fonction :
private function ouvrePop(evt:MouseEvent):void{
  var popClass:Class = getDefinitionByName("Pop_" + evt.target.name) as Class;
  var newPop:MovieClip=new popClass();
  addChild(newPop);
}