Générer un SWC
Par Cédric Tabin le vendredi 10.04.2009, 10:00 - Flash, Flex & co - Lien permanent
Il est assez simple de générer un fichier SWC depuis Flash ou Flex pour un composant. Voici comment faire pour créer une bibliothèque de classes en utilisant directement le Flex SDK !
Tout d'abord il est nécessaire de télécharger le Flex 4 SDK qui contient les outils nécessaires. Une fois dézippé, le répertoire bin contient plusieurs scripts (ou exécutables pour les windowsiens) dont certains bien connus (mxmlc, asdoc).
Dans le cas d'un SWC, c'est l'exécutable compc qui va être utilisé. Il suffit de pointer un répertoire et de donner un nom de fichier pour l'output :
./compc -include-sources "../src" -output "library.swc" -strict -optimize
Et voilà, il suffit ensuite d'ajouter ce SWC comme librairie à un projet flex/flash pour pouvoir utiliser ses classes. C'est très pratique pour utiliser une version stable d'une bibliothèque en cours de développement par exemple.
Petit bémol toutefois : il me semble qu'il n'est pas possible d'avoir la documentation incluse dans le SWC... Du moins je n'ai pas trouvé d'option en rapport avec cela dans l'aide.
Par la suite, en utilisant mxmlc, il ne faut pas oublier d'ajouter la bibliothèque pour pouvoir compiler :
./mxmlc -compiler.include-libraries "library.swc" -compiler.source-path "../projet/src" -output "anim.swf" -use-network=false -strict -optimize "../projet/src/ch/Test.as"
Dernier point à noter : l'utilisation de l'option -use-network=false qui est nécessaire pour pouvoir charger des fichiers locaux !
Pour ceux qui veulent approfondir, j'ai créé des scripts pour Masapi dans le répertoire bin qui permettent de générer un SWC et les samples en SWF.
Commentaires
Claire et précise, merci pour la méthode
rah on se posait la question y'a deux jour avec un pote sur la compilation de swc sans flash.
on avait trouvé ça: http://www.mikechambers.com/blog/20... on mike chambers dit qu'il faut un xml qui indique les classes à compiler, ce qui n'est pas super pratique si y'a beaucoup de classes...
Mais du coup je me suis demandé ce qu'une solution prenant tous les fichiers donnait pour les répertoires versionnés blindés de .svn. Si ça les esquive (vu que c'est des dossiers cachés) ou si ça fout la merde
en tout cas c'est bien pratique
ha ha ha le pote en question c'est PRASS ci-dessus :D
Salut,
"si ça les esquive (vu que c'est des dossiers cachés) ou si ça fout la merde" => et bien oui ça esquive les .svn Je m'en sert pour Masapi (qui est donc versionné) et je n'ai eu aucun problème avec ça ! Enjoy ^^
@++
Bravo pour ce billet bien sympa !
Je me demandais s'il existait un moyen simple de passer un swf en swc. J'aimerai en fait réutiliser un fichier dont je n'ai pas les sources en tant que librairie. Je sais qu'un swc est en fait un fichier zip contenant le swf + un xml de description des classes, mais je ne parviens pas à trouver d'utilitaire permettant de générer le xml (ou le swc directement).
Quelqu'un aurait une idée ?