Sujets sur : swf
Cours ActionScript 3 ‘swf’
Comment créer des swf gratuitement, sans Adobe Flash CS5, mais avec swfmill ?
Commentaires fermés sur Comment créer des swf gratuitement, sans Adobe Flash CS5, mais avec swfmill ?

Vous commencez à mieux connaitre la programmation actionscript.
Par contre, il est vrai que les licences logiciels (Adobe Flash CS5, FDT…) représentent un coût non négligeable.
Dans les cours précédents, nous avons découvert l’éditeur actionscript FlashDevelopp (gratuit). Puis nous avons également appris à créer des swf de polices partagées avec swfmill.
Savez-vous qu’il est possible de créer gratuitement des applications swf ?
Je vais tout vous expliquer dans ce cours vidéos.
Voici ce je vais vous apprendre :
- Quel logiciel utiliser pour créer des swf gratuitement ?
- Comment utiliser le logiciel swfmill ?
- Comment paramétrer swfmill ?
- Quelles sont les différentes fonctionnalités, options de swfmill ?
- La technique de création pas à pas de votre première application flash avec swfmill.
A la fin de cette formation, vous serez à même de concevoir des applications flash sans utiliser le logiciel Adobe Flash.
swfmill pour créer des applications flash
[dailymotion]http://www.dailymotion.com/video/xk69ud_creer-des-swf-gratuitement-sans-adobe-flash-cs5-mais-avec-swfmill_tech[/dailymotion]
Version démonstration
Ci-dessous, le résultat de l’application créée avec swfmill.
1 | http://e6msyji6epr.exactdn.com/wp-content/uploads/2011/07/exemple-swfmill.swf |
Télécharger le code swfmill
Vous trouverez l’ensemble du code source commenté pour vous aider dans l’utilisation de swfmill pour la création de vos applications flash.
Télécharger “swfmill exemple application” ex-swfmill.zip – Téléchargé 1210 fois – 217,90 KoTélécharger le logiciel gratuit swfmill.
Ci-dessous, le fichier xml qui permet à swfmill de créer un swf.
[codesyntax lang= »xml » title= »library.xml » bookmarkname= »library.xml »]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?xml version="1.0" encoding="UTF-8"?> <movie width="550" height="450" framerate="12" frames="1" as3="1" version="10"> <background color="#FFFFF1"/> <frame name="premiereImage"> <library> <clip id="Avion" import="D:\home\as3facile\actionscript-facile\swfmill\ex\src\images\plane.png"/> <clip id="Surf" import="D:\home\as3facile\actionscript-facile\swfmill\ex\src\images\surf.jpg"/> <!-- importation des images pour les afficher dans les frames --> <clip id="onState" import="D:\home\as3facile\actionscript-facile\swfmill\ex\src\images\anim1.png"/> <clip id="offState" import="D:\home\as3facile\actionscript-facile\swfmill\ex\src\images\anim2.png"/> <clip id="overState" import="D:\home\as3facile\actionscript-facile\swfmill\ex\src\images\anim3.png"/> <!-- creer movieclip --> <clip id="anim"> <frame name="etat1"> <place id="onState" depth="3"/> </frame> <frame name="etat2"> <place id="offState" depth="4"/> </frame> <frame name="etat3"> <place id="overState" depth="4"/> </frame> </clip> </library> <!-- ajoute les elements sur stage --> <place id="Surf" name="MySurf" x="20" y="20" depth="1"/> <place id="Avion" name="MyAvion" x="320" y="183" depth="2"/> <!-- creer textfields --> <textfield id="textbox" width="430" height="50" x="30" y="380" size="33" font="arial" text="C'est l'été, il fait très chaud !!!" color="#006f77" /> <place id="textbox" name="output" depth="5"/> <place id="anim" name="MonAnimation" x="230" y="10" frame="etat2" depth="6"/> </frame> </movie> |
[/codesyntax]
Avez-vous déjà utilisé swfmill ?
Quelles applications avez-vous programmé avec swfmill ?
Partagez vos liens dans les commentaires ci-dessous.
Comment éviter la mise en cache d’un swf / fichier xml en AS3 ?

Nous allons découvrir une astuce très simple pour complètement oublier la mise en cache du Flash et du Navigateur Internet (Firefox, Google Chrome, Internet Explorer…).
Introduction
Un problème qui revient souvent avec Flash sous différentes forme :
- je charge un fichier xml dans Flash et les données affichées ne sont pas à jour!
- je modifie le swf, la page web m’affiche toujours l’ancienne version du swf, toujours pas de mise à jour!
Et tout cela provient de la mise en cache des données (swf, xml, texte…) par votre Navigateur Web et Flash.
Utilisation d’une variable aléatoire
Désactiver le cache des fichiers xml, eden et textes
Il suffit d’utiliser une variable générée aléatoirement pour charger vos fichiers de configuration (xml, eden, texte).
Dans votre code AS3, ajoutez tout simplement une variable aléatoire lorsque vous chargez un fichier de configuration.
[codesyntax lang= »actionscript3″ title= »URLRequest » bookmarkname= »URLRequest »]
1 2 3 4 5 6 7 8 9 10 11 12 | // chargement du fichier XML var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, completeHandler ); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler ); // chargement du fichier xml et gestion du cache du navigateur var sXml:String = 'https://www.actionscript-facile.com/ressources/xml/interface.xml?nocache='+Math.random()*28; Logger.debug ("url : "+sXml); // debug de l'application avec l'extension firefox Firebug var file:URLRequest = new URLRequest(sXml); loader.load(file ); |
[/codesyntax]
En principe, j’utilise la fonction AS3 Math.random(). Il est possible d’utiliser la fonction Date() ou une autre. L’important est d’appeler votre fichier xml avec une variable aléatoire.
Télécharger le code source complet sur l’article : Création d’un Mini Flex avec les Composants AS3 Facile. C’est un fichier xml qui détermine le contenu affiché par le swf.
Amusez-vous ensuite à modifier le contenu du fichier xml pour mettre à jour les informations affichées par le swf.
Désactiver le cache du swf
Pour afficher un swf dans une page Web tout en désactivant sa mise en cache, j’utilise exactement la même astuce.
C’est à dire, je crée une variable générée aléatoirement avec le chemin de mon swf. Regardez l’exemple ci-dessous (la toute dernière ligne avec echo rand(2,28)) :
[codesyntax lang= »html4strict » title= »SWFObject » bookmarkname= »SWFObject »]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <script type="text/javascript" src="swfobject.js"></script> <div id="flashcontent"> N'oubliez pas d'activer le Javascript. </div> <script language="JavaScript" type="text/javascript"> var flashvars = { contextFile: "application.eden", dataFile: "datas.xml", lang : "fr", progressColor: "0x2d2d2d", progressMessage: "Chargement en cours..." }; var params = { allowScriptAccess : "always" , bgcolor : "#ffffff" , quality : "best" } ; var attributes = { align : "middle", name: "application_musique" } ; swfobject.embedSWF("https://www.actionscript-facile.com/swf/application.swf?nocache=<?php echo rand(2,28) ?>", "flashcontent", "234", "382", "9.0.124", "expressInstall.swf", flashvars, params, attributes ); </script> |
[/codesyntax]
La fonction php rand() crée une variable aléatoire. Le navigateur croit que c’est un nouveau fichier swf, donc il le charge à chaque fois!
Consultez cet article: Comment utiliser SWFObject pour afficher du contenu flash ? . SWFObject présente l’avantage d’optimiser l’affichage des swf pour les moteurs de recherche (Google, Yahoo…).
Et vous, quelle solution utilisez-vous pour empêcher la mise en cache de Flash et du Navigateur Internet ?
Est ce que vous utilisez les header() en php, ou avez-vous une autre astuce ?
Je suis curieux de découvrir vos techniques de gestion du cache en ActionScript / Flash.