Pour personnaliser graphiquement un composant, deux étapes suffisent :
créer la classe de Skin pour le composant.
créer les graphismes dans un fichier fla (MoviesClip, images, dessin vectoriel...).
II-A. Création des classes skins
La première étape consiste à créer la classe de skin pour le composant choisi.
Cette classe de "graphisme" étend la classe Skin du framework AS3 facile et contient la configuration des graphismes
du fla qui seront utilisés. Appelons cette classe DefaultComponentSkin.as.
Pour chaque élément du composant, nous affectons une classe graphique (un movieclip ou un sprite par exemple).
C'est-à-dire que chacun des graphismes du fla correspond à un élément du composant.
Le graphisme de l'élément est ensuite associé à une constante de la classe du composant.
Tous les composants possèdent des constantes de skin.
Ci-dessous, un exemple illustrant mes explications.
Pour le composant Button, dans le code source de cette classe, il y a trois constantes :
En fonction du composant (Button, List, ComboBox),
vous devez créer un fichier fla avec un ou plusieurs éléments
graphiques (sprite, MovieClip, images et / ou animation).
Pour connaitre le nom des classes (MovieClip) à créer
pour le composant sélectionné, il suffit de regarder la classe
DefaultComponentSkin.as que vous venez juste de créer.
Elle contient les noms des classes MovieClip du fla.
Par exemple, la création des éléments graphiques du fla du composant VerticalScrollBar implique d'utiliser les noms suivants:
ScrollBarBackgroundSkin ;
ScrollerButtonDownSkin ;
ScrollerButtonOverSkin ;
ScrollerButtonSkin ;
ScrollUpButtonDownSkin ;
ScrollUpButtonOverSkin ;
ScrollUpButtonSkin ;
ScrollBottomButtonDownSkin ;
ScrollBottomButtonOverSkin ;
ScrollBottomButtonSkin.
Effectivement, la classe DefaultVerticalScrollbarSkin.as associe les noms ci-dessus aux constantes de la classe VerticalScrollBar.
Ensuite, il vous reste à créer le fla avec les classes correspondantes.
Par exemple, pour créer le skin du composant Button,
il est nécessaire de créer trois MovieClip (ou sprite) différents.
Un MovieClip par état du bouton (survolé, appuyé, normal).
Pensez-bien à paramétrer les propriétés de chacun des MovieClip :
Cochez la case Export For ActionScript
Cochez la case Export in frame 1
La Class : permet d'utiliser le graphisme du composant dans votre code AS3. C'est le nom de votre classe (associée à la constante du composante) utilisée dans la classe qui étend Skin.as, dans cet article : DefaultComponentSkin.as.
La Base Class : permet de définir les propriétés de votre graphisme / composant disponible pour votre code AS3. Cela peut être Sprite ou MovieClip par exemple.
Une copie d'écran pour illustrer mes explications :
Propriétés des Sprite dans Adobe Flash
Les graphismes définis dans le fla sont très basiques.
Libre à vous d'insérer des images, des animations, des dessins vestoriels plus créatifs et recherchés.
Il y a énormément de possibilités pour personnaliser les composants du
Framework Actionscript-Facile.
Vous pouvez utiliser des images png, jpg, des animations, des dessins vectoriels...
Le principe de création des skins est identique pour chacun des composants.
Il y a plus ou moins de MovieClip à créer suivant les états graphiques possibles du composant.
Ensuite, une fois le fla créé, vous pouvez
l'exporter soit au format swc ou au format swf.
C'est en fonction de la manière dont vous souhaitez utiliser les MovieClip avec votre code AS3.
Pour cet exemple, nous allons exporter le fla au format swc pour intégrer directement les classes graphiques avec l'éditeur AS3 de notre choix.
Pour développer simplement en ActionScript, je vous conseille l'éditeur FDT PowerFlasher : l'essayer, c'est l'adopter.
III. Utilisation des composants
Tous les composants du framework ActionScript-Facile s'utilisent de la même façon.
Ils possèdent tous des fonctionnalités communes :
personnalisation des graphiques,
possibilité de l'afficher ou non dans la DisplayList,
intéractions possibles avec l'utilisateur.
La première étape est de créer une nouvelle instance de notre composant.
Par exemple, pour un Button, il suffit d'écrire le code suivant :
Button.as
var button:Button =newButton();
Deuxième étape : en fonction du composant utilisé,
vous définissez ses paramètres. Ci dessous, la création d'un composant Button et d'une liste.
List.as
//créationunobjetdetypeButtonvar button:Button =newButton();//définitiondutexte
button.label ='ButtonComponent';//créationd'unelistevarlist:List =newList();//définitiondelatailledelaListlist.resize( 230,150 );//ajoutdeplusieursélémentsdanslalistefor ( var i:int=0; i <35; i++ )
{list.addElement( getListElement(i+1) );}
La troisième étape consiste à affecter à notre composant le skin que nous lui avons conçu.
Un simple button.applySkin( new DefaultButtonSkin() ); met à jour le graphisme de notre composant.
Ou list.applySkin( new DefaultListSkin() ); pour le composant List.
En route pour la quatrième étape !
Il nous reste à positionner notre composant sur la scène et à l'afficher. Bien évidemment, il est possible de paramétrer les options de notre composant : modifier sa taille, le style de son texte...
La cinquième et dernière étape est plus ou moins compliquée en fonction de
l'application flash que vous crééez.
Vous avez la possibilité d'écouter les actions de l'utilisateur.
En fonction des interactions de l'utilisateur, l'application flash peut :
afficher / masquer telle ou telle partie de l'interface,
modifier le titre d'un élément,
inviter l'utilisateur à effectuer une action dans votre application,
etc.
Ci-dessous le code source complet d'utilisation des composants que nous avons créés.
Vous trouverez ci-dessous l'ensemble des classes créées. Elles sont commentées pour vous permettre de comprendre au mieux leur fonctionnement.
Vous pouvez télécharger le fichier zip : Changement de Skin en live
IV-C. Quels graphismes avez-vous créé pour les composants AS3 Facile ?
Postez-vos exemples de skins dans les commentaires :1 commentaire
V. Remerciements / Téléchargements
Je remercie La RédactriceKalyparker
pour sa disponibilité et l'ensemble de son travail de mise au gabarit des chapitres du framework AS3 Facile au format Developpez.com.