|
Flash MX 2004 a apporté son lot de nouveautés
par rapport à la version précédente, dont la plus notable
est l'introduction d'une nouvelle version d'ActionScript, mais l'une des nouveautés
les plus utiles pour la production quotidienne est probablement l'arrivée
du JSFL, acronyme de JavaScript-FLash (mais on parle plus souvent Flash-JavaScript,
ou de Flash JSAPI...). Avec ce "nouveau" langage, il devient possible
aux développeurs d'étendre l'outil Flash même : on ne parle
pas ici du système de composants introduit avec Flash MX, mais d'une transformation
de l'éditeur, qui devient un véritable environnement de scripting,
et permet de développeurs simplement des extensions à son interface,
ses fonctionnalités, ses capacités...
Présentation
Le JSFL est donc le langage d'extension de l'éditeur Flash, et n'entre
aucunement en conflit avec ActionScript, qui reste le langage de script pour les
applications Flash - il n'ont pas du tout le même domaine d'application.
On peut avec ajouter des commandes au menu Commandes, des outils à la barre
d'outils, créer des effets de scénario et des comportements, automatiser
des tâches avec des macros, et même modifier l'interface grâce
à XML to UI.
Les commandes
Ces scripts JSFL permettent d'accéder depuis l'éditeur au DOM de
l'animation Flash - à son squelette, grosso modo - et d'y modifier presque
tout. Ce qui est possible avec l'interface Flash (bouton + souris) l'est maintenant
aussi à partir d'un script JSFL : créer un cercle, mettre un script
sur un clip, modifier le contenu d'un champ texte...
Les commandes peuvent de surcroit être créées à partir
du panneau Historique.
Les outils
Le développeur peut désormais construire ses propres outils Flash,
et pousser plus loin les capacités de l'éditeur, selon ses besoins.
Les effets de scénario
On peut ici définir des interpolations (rotation, translation, changement
de forme...) directement à partir d'un script JSFL : sélectionnez
un objet, un effet, réglez ses paramètres et validez, l'objet dispose
maintenant d'une interpolation dans le scénario.
Les comportements
Même principe que les effets de scénario, sauf que l'objectif ici
est d'appliquer un modèle de code ActionScript à un objet...
XML to UI
C'est ici que se révèle la valeur de l'extensibilité de Flash
MX 2004 : en combinant les évènements JSFL avec des fichiers d'interface
XML (de type XUL), il est possible de créer ses propres fenêtres
pour gérer ses outils JSFL.
Application
L'approche la plus simple de JSFL est de passer par l'historique, et de se créer
des macros basiques à partir de ce panneau. Créez un nouveau projet
vide, et ouvrez le panneau Historique (Ctrl-F10 ou le menu Fenêtre/Autres
panneaux/Historique). Vous pouvez déjà voir qu'en cliquant sur la
scène s'affichent des commandes Désélectionner dans l'historique.
Faites un clic droit sur le panneau, et choisissez Affichage/Javascript dans le
panneau : chaque appel Désélectionner se transforme en un appel
fl.getDocument().selectNone();.
fl : c'est l'objet flash, il permet de faire référence
à l'environnement graphique, et existe donc toujours (tant que Flash fonctionne).
getDocument() : méthode permettant d'accéder
au document actuellement ouvert, c'est-à-dire le FLA en cours d'utilisation.
selectNone() : méthode permettant de désélectionner
tous les élements actuellement sélectionnés.
On peut faire de cet appel une macro en sélectionnant la (ou les) ligne(s)
que l'on souhaite enregistrer et en cliquant sur l'icône en forme de disquette
(ou un clic-droit "Enregistrer comme commande"). Entrez un nom pour
cette commande ("Tout Déselectionner"), et elle se trouvera dans
le menu Commandes.
C'est là la méthode
basique pour créer une macro, mais comme pour ActionScript, il faut à
un moment dépasser le glisser-déposer, et programmer véritablement
ses commandes. Flash MX 2004 introduit donc la création de fichier JSFL
: faites Fichier/Nouveau... et choisissez Général/Fichier Flash
JavaScript, et vous voilà face à un éditeur de texte, qui
offre l'énorme avantage de fonctionner comme l'éditeur ActionScript
: un dictionnaire JSFL complet (pour peu que vous ayez mis à jour votre
documentation).
Collez le code
fl.getDocumentDOM().selectNone(); dans la fenêtre, sauver le fichier
"Tout désélectionner2.jsfl" dans le dossier Commands (plus
précisément, C:\Program Files\Macromedia\Flash MX 2004\fr\First
Run\Commands), et vous pouvez l'appeler depuis le menu Commandes/Exécuter
la commande... ou au prochain chargement aller directement la lancer depuis
le fameux menu Commandes.
|