samedi 7 novembre 2009

Code actionscript pour la création d'un bouton rollover dynamique dans Flash CS3 en AS3

Code actionscript pour la création d'un bouton rollover dynamique dans Flash CS3 en AS3

Nous allons créer dynamiquement un bouton à partir des différents états graphiques que nous aurons dessinés dans Flash. Chaque état de bouton sera créé dans un clip séparé. Rien ne sera placé sur la scène de l'animation.

Créer une nouvelle animation flash AS3 « boutons.fla ». Créer aussi un nouveau fichier de code associé «boutons.as ».

Dans l'animation commencez par spécifier « boutons » comme « classe du document » (dans le panneau propriétés de l'animation).

Créez un nouveau clip nommé « MC_haut » qui déterminera l'état du bouton au repos. Tracez-y une forme vectorielle, par exemple un rectangle avec contour, de 2 couleurs différentes et de contour de 4 pixels.
Centrez votre forme dans votre clip.

Fabriquez les 3 autres états du boutons en dupliquant ce premier clip :« MC_dessus » : changez les couleurs« MC_abaisse » : décalez le rectangle de quelques pixels en bas à droite, sans changer ses couleurs« MC_clique » : c'est la zone active du bouton.

Enlevez son contour (il n'est pas pris en compte comme zone active) et agrandissez-le à 110% avec le panneau « transformer ».Il faut maintenant créer une classe pour chaque clip et l'exporter afin de pouvoir les piloter dynamiquement.

Dans la bibliothèque sélectionnez le premier clip, par clic droit ouvrez le panneau « liaison » et cochez la case « exporter pour ActionScript ». Ne changez rien d'autre.

Faites la même chose pour les 3 autres clips.

Enregistrez votre animation.

Allez maintenant dans votre fichier « boutons.as ».


Commencez par importer les classes nécessaires à votre programme, puis à créer la classe publique et la fonction publique constructeur :

package {
import flash.display.MovieClip;
import flash.display.SimpleButton;
public class boutons extends MovieClip {

Nous allons ensuite créer une occurrence de la classe SimpleButton à laquelle nous allons affecter des occurrences de nos clips comme états (sur une seule ligne) :
var monBouton:SimpleButton = new SimpleButton (new MC_haut(), new MC_dessus(), new MC_abaisse(), new MC_clique()).

On positionne ensuite l'occurrence de bouton sur la scène :
monBouton.x = 100;
monBouton.y = 100;

on ajoute l'occurrence à la liste d'affichage :
        addChild (monBouton);

SCRIPT COMPLET AS3 CREATION DE BOUTON ROLLOVER DYNAMIQUE

package {

import flash.display.MovieClip;
import flash.display.SimpleButton;
public class boutons extends MovieClip {
public function boutons():void {
var monBouton:SimpleButton = new SimpleButton (new MC_haut(), new MC_dessus(), new MC_abaisse(), new MC_clique());
monBouton.x = 100;
monBouton.y = 100;
addChild (monBouton);
}
}
}



Aucun commentaire: