En gros on va transformer un MovieClip en bouton. :)

Marche à suivre :

  • Tracez une zone de survole et transformez le en MovieClip (F8).

    mcButton1
  • Entrez dans le clip, ajoutez un nouveau calque ("Actions") et placez le code suivant :

    // masque la zone de survole à l'exécution.
    this._visible = false;
    // remplace la zone de survole du clip parent par celui du clip enfant.
    this._parent.hitArea = this;
    mcButton2
  • Retournez sur la scène principale et créez un nouveau MovieClip (le bouton).

  • Ajoutez un nouveau calque ("Actions") avec trois images clefs nommé ("_up", "_over", "_down"), ajoutez aussi sur chaque image clef un stop();.

    mcButton4
  • Ajoutez un calque ("Area") en dessous de la pile glissez y le clip créé au début.

  • Il vous suffit maintenant de créer sur un nouveau calque avec les différents états du bouton.

Voilà nous avons un magnifique bouton, heu pardon MovieClip ;) Maintenant pour l'activé il suffit de lui attacher un gestionnaire d'événements du genre :

mcBouton.onPress = function() {
	trace("Qui m'a pressé ?!");
}

C'est pas magique ? Quoi vous êtes pas convaincu ? Oui je sais c'est un simple bouton, mais on peut lui ajouter quelques extensions ce qui n'est pas possible avec un bouton classique. Par exemple on peut créer ces boutons dynamiquement. Modifier le texte dynamiquement à l'intérieur. Ajouter un état au bouton, du genre gotoAndPlay("_disable"); La liste est vraiment longue. ;)

Voici un petit exemple, ce sont deux mcButton l'un à coté de l'autre, ils ont cinq états ("_up", "_over", "_down", "_disable" et "_noClick"), la position initiale est _noClick. Loasque l'on clique sur un des bouton il se déactive et active l'autre.

Texte de remplacement

Chargez mcButton.fla

La première fois ça parait long, mais avec un petit jsfl maison, c'est aussi facile que de créer un bouton, mais avec tout les désavantages en moins. ;) Donc je me suis mit au JSFL se week-end et grâce à l'aide de Jeanphi et Wuastc je peux vous fournir cette commande qui automatise la tache.

Pour l'installer chargez : mcButton.mxp.
Installez le via l'Extension Manager
Ensuite dans Flash sélectionnez un élément sur la scène allez dans Commande < mcButton et plouf, vous avez un bouton :p

Pour ce qui est de la zone de survole, le jsfl fait une copie de de la sélection de départ, une étoile restera une étoile ;)

MAJ - [06/01/06] - Ajouts d'une palette pour nommer les deux MovieClip (mcButton et mcArea) - mcButton_v1.1.mxp.zip.