JSFL mon amour...
Par -Alexandre LEGOUT aka LAlex- le lundi, mars 31 2008, 17:30 - AS3 / Flex2 - Lien permanent
L'équipe d'envrac avait prévenu, mais je suis en train de doucement glisser vers la dépendance au JSFL...
Un p'tit langage qui permet de scripter l'IDE et ainsi de raccourcir
drastiquement les taches répétitives, c'est quand-même du pain béni pour peu
qu'on prenne le temps de s'y pencher. Pas encore interessé aux panneaux
"custom", j'ai pondu quelques petites déclinaisons d'un script inspiré par une
ancienne collègue - si tu te reconnais, un paquet de Carambars
- et qui
facilite grandement l'intégration timeline/code (un petit article prévu la
dessus dés que je lève un peu la tête des mes projets et que je me défénéantise
en ce qui concerne ce blog).
Bref, ceci est un ensemble de 4 scripts JSFL qui font le tour des instances nommées dans un clip, et affiche dans le panneau de sortie les déclarations AS3 de celles-ci : je ne parlerais pas ici de la quasi obligation morale qui nous incombe à tous de décocher la case "Déclarer automatiquement les instances etc..." si vous êtes pas des trouillards... :p
Plusieurs déclinaisons donc:
- "Lazy Timeline Variables": affiche les déclarations sour forme public var monClip:MonClip;
- "Lazy Timeline GetSet": même chose, mais déclare les variables en mode private préfixées avec un underscore, ainsi que les getter/setter publics corrspondant (pratique si vous voulez détecter l'ajout d'un clip à la timeline, sans attendre un Event.ADDED puis un Event.RENDER)...
- "Lazy Selected Variables"/"Lazy Selected GetSet": même chose que les deux précédents, mais uniquement pour les instances sélectionnées dans l'IDE: pratique quand on a déjà utilisés les précédents, mais qu'on a rajouté une instance entre temps...
A savoir que chacun de ces scripts:
- Utilise les classes renseignées dans l'IDE: en gros, si les éléments ne sont pas exportés pour AS dans la bibliothèque, c'est MovieClip ou SimpleButton qui seront utilisés, sinon, c'est soit la BaseClass, soit la classe elle-même qui seront utilisées.
- Copie ces déclarations dans le clipboard, pour qu'il n'y ai plus qu'un
"coller" à faire dans le vrai environnement de développement que vous utilisez
certainement!

Ces scripts se décompressent dans le répertoire ~/Library/Application Support/Adobe/Flash CS3/en/Configuration/Commands (sur Mac, vous trouverez l'équivalent sur Windows), et deviennent accessibles depuis Flash dans le menu "Commandes"...
Pour le petit exemple de "Lazy Timeline GetSet" pour 2 boutons:
/* JSFL Example*/
// Private timeline properties
private var _upButton:MinimalButton;
private var _downButton:MinimalButton;
// Public timeline getters/setters
public function set upButton(displayObject: MinimalButton) : void {
_upButton = displayObject;
// Rajouté a posteriori
_upButton.addEventListener(MouseEvent.CLICK, upButtonClickHandler);
}
private function upButtonClickHandler(event : MouseEvent) : void {
trace("Up clicked")
}
public function get upButton() : MovieClip{
return _upButton;
}
public function set downButton(displayObject: MinimalButton) : void {
_downButton = displayObject;
// Rajouté a posteriori
_downButton.addEventListener(MouseEvent.CLICK, downButtonClickHandler);
}
private function downButtonClickHandler(event : MouseEvent) : void {
trace("Down clicked")
}
public function get downButton() : MovieClip{
return _downButton;
}
Tous ces zoulis scripts sont téléchargeables: LazyScripts.zip
Commentaires
Tu me dois un paquet de carambars!
Fil des commentaires de ce billet