Création par lots de fichiers SWF à l'aide de DOS et du compilateur Flex en ligne de commande

Regardons la création de contenu en vrac. Nous allons utiliser un fichier de commandes DOS pour générer rapidement plusieurs fichiers SWF contenant du texte, du son, des images, etc. différents mais qui suivent un modèle que nous avons défini..


Je dois admettre que je suis un amoureux des fonds souverains. De nos jours, vous entendez beaucoup parler de HTML5 et d'autres technologies émergentes qui mettront en quelque sorte le bon vieux SWF en faillite, mais je ferai partie de ces développeurs qui resteront accrochés à mon bien-aimé SWF aussi longtemps que possible. Au cours des 14 dernières années environ, le SWF a été le seul à pouvoir proposer du contenu multimédia riche sur le Web, bien avant que d’autres technologies n’aient pu le devenir..

Pour l’apprentissage en ligne, le fichier SWF est encore à peu près la norme et c’est quelque chose que j’utilise dans tout le contenu de mes cours. Je l'utilise pour tout, des vidéos de tuteurs virtuels aux images vectorielles, au texte vectoriel et aux activités interactives de toutes sortes.

Pour la création de contenu en masse, j'ai constaté que rien ne fonctionnait aussi rapidement et aussi efficacement qu'un bon fichier de commandes DOS. Vous pouvez rapidement écrire et modifier un fichier de commandes pour réaliser toutes sortes de choses intéressantes. Si vous travaillez avec une grande quantité d’images, de texte et d’audio, un fichier de commandes peut rapidement transformer cela en contenu multimédia sous la forme d’un fichier SWF..

Les raisons pour lesquelles vous aimeriez faire cela incluent:

  1. Flash n'est pas installé sur le PC sur lequel vous travaillez
  2. Vous souhaitez créer des fichiers SWF en bloc
  3. Vous voulez créer des fichiers SWF à partir de la ligne de commande

Le seul outil dont vous avez besoin dans Windows, à part votre éditeur de code, est le SDK Flex et, éventuellement, une application de conversion ASCII en UTF-8 à code source libre appelée iconv du projet GnuWin, si vous envisagez d'utiliser des caractères internationaux ou des signes de soulignement dans votre texte..


Aperçu du résultat final

Jetons un coup d'œil au résultat final sur lequel nous allons travailler


Étape 1: Déterminez votre type de fichier SWF

La création en bloc signifie que tous vos fichiers SWF suivront le même modèle. Décidez donc du type d’éléments dont vous avez besoin: texte vectoriel, image, son, etc..


Étape 2: Organiser les actifs et les polices

Nommez vos fichiers de manière appropriée: chaque fichier texte, image et audio doit avoir des noms correspondants, ainsi que la casse. Si vos fichiers sont désorganisés, vous pouvez télécharger un programme d’utilitaire de fichiers pour les renommer par lots, les convertir en minuscules, etc. L’un de ces programmes que j’ai trouvé est appelé Utilités de fichiers utiles..

Vous voudrez peut-être ouvrir un fichier texte et conserver une liste de chemins absolus vers ces éléments, y compris les polices que vous souhaitez incorporer..

dans le source / utilitaire Dans le dossier de votre téléchargement pour ce didacticiel, vous trouverez quelques scripts de traitement par lots pouvant vous aider à créer une liste de mots maîtres à utiliser avec votre création de fichiers SWF. Si vos noms de fichier contiennent plus d’un mot, veuillez utiliser un tiret entre les mots [-]. Les tirets sont déjà pris en compte dans mon fichier principal .bat, qui crée les fichiers SWF. Lorsque vous utilisez des tirets, ils sont convertis en nombres, puis reconvertis en tirets avec un autre petit fichier d’utilitaire, faute de quoi la compilation des fichiers de classe AS3 échouera..


Étape 3: Créer un modèle de fichier de classe AS3

Ouvrez votre éditeur de code (j'utilise toujours Notepad ++ pour le codage multilingue, c'est une application open source étonnante).

Dans les étapes suivantes, je vais esquisser des éléments que vous pourrez ajouter à la définition de votre fichier de classe, qui seront utilisés par votre fichier DOS pour générer tous vos fichiers SWF..

Si vous souhaitez suivre en examinant le fichier de classe que j'ai utilisé pour ces extraits, ouvrez le source / lago.as fichier dans votre package de téléchargement pour ce tutoriel.

Nous commençons par ajouter une configuration de paquet générique dans AS3, qui, sans aucune fonction, ressemblerait à ceci:

 package import flash.display.Sprite; import flash.display. *; classe publique lago étend Sprite 

Ajoutons maintenant quelques éléments réels à notre fichier SWF.!


Étape 4: Intégrer un MP3

Comme toujours, vous commencez par importer les fichiers de classe nécessaires:

 import flash.media.Sound; import flash.media.SoundChannel;

Voici le code pour intégrer un son à un emplacement statique. Vous remarquerez que lorsque nous venons de créer notre fichier DOS, nous utilisons les variables pour notre dossier et le nom du fichier.

 [Embed (source = "C: /Users/You/Desktop/sound/lago.mp3")] public var soundClass: Class; var sndChannel: SoundChannel; var smallSound: Sound = new soundClass () en tant que Sound;

Étape 5: Intégration d'une image

Voici le code pour intégrer une image:

 [Incorporer (source = "C: /Users/You/Desktop/images/lago.swf")] public var Picture: Class; var pic: Sprite = new Picture ();

Dans mon fichier, je crée d'abord un Sprite, auquel j'ajoute l'image, mais si vous voulez ajouter l'image directement sur la scène, utilisez simplement:

 addChild (pic);

Étape 6: Incorporation d'une police

Comme j'utilise des caractères internationaux, j'intègre ma police en spécifiant les caractères Unicode à inclure:

 [Embed (mimeType = "application / x-font", unicodeRange = "U + 0061-U + 007A, U + 00E1-U + 00E1, U + 00E9-U + 00E9, U + 00ED-U + 00ED, U + 00F1-U + 00F1, U + 003F-U + 003F, U + 00FA-U + 00FA, U + 00E1-U + 00E1, U + 00F3-U + 00F3, U + 00BF-U + 00BF, U + 00A1- U + 00A1 ", source =" C: /Users/You/Desktop/BradBunR.ttf ", fontName =" Brady ")] private var terminatorFontClass: Class;

Pour connaître les caractères dont vous avez besoin, vous pouvez consulter ce tableau ici, disponible sur le site Web Space, Science and Engineering de l'Université du Wisconsin-Madison. Sous Windows, vous pouvez également ouvrir votre programme charmap.exe et consulter les valeurs des caractères dont vous avez besoin..

Charmap.exe

Étape 7: Utilisation textFormat styliser votre texte

Commencez par importer les classes nécessaires:

 importer flash.text. *; import flash.text.TextFormat; import flash.text.AntiAliasType;

Maintenant, créez un champ de texte et attacher un textFormat à cela:

 var __text_tf: TextField = new TextField (), __ format: TextFormat = new TextFormat ();

Appliquons maintenant un peu de style à notre texte. J'ai utilisé une taille pour le texte ci-dessous, mais dans mon fichier actuel, j'ajuste la taille en fonction de la longueur de la chaîne. Cette ligne de taille ne serait donc pas utilisée..

 __format.size = 30; __format.font = "Brady"; __format.letterSpacing = 6; __format.align = TextFormatAlign.CENTER; __text_tf.width = 500; __text_tf.embedFonts = true; __text_tf.wordWrap = true; __text_tf.defaultTextFormat = __format; __text_tf.autoSize = "center"; __text_tf.text = str;

Étape 8: Modification de la taille de la police en fonction de la longueur de la chaîne

C'était un peu un morceau de code délicat, mais si vous essayez de créer des SWF en bloc de phrases et même de phrases plutôt que de simples mots, vous constaterez qu'il est nécessaire de prendre en charge différentes longueurs de chaîne. Sinon, certains de vos mots seront soit trop gros, soit trop petits.

 si (str.length <= 9)  __format.size = 70;  else if (str.length >= 14 && str.length <= 22)  __format.size = 50; __text_tf.defaultTextFormat = __format;  else if (str.length >= 28 && str.length <= 48)  __format.size = 40; __text_tf.defaultTextFormat = __format;  else  __format.size = 50; 

Bien sûr, vous pouvez modifier ces valeurs en fonction de vos propres besoins en contenu..


Étape 9: Centrer le texte dans un champ de texte

Cette ligne m'a d'abord échappé et était cruciale pour que mon texte soit bien centré dans le texte. champ de texte.

 __text_tf.autoSize = "center";

Étape 10: Centrer et redimensionner proportionnellement une image

Ce code a pris la majeure partie de la journée pour bien fonctionner et constitue le seul moyen que j’ai trouvé de redimensionner et de centrer correctement un fichier SWF. Vous pouvez changer le x, y, targetHeight, et targetWidth Les valeurs dépendent de la taille de vos propres fichiers SWF, mais sinon, ce code peut vous aider à réaliser le centrage et le redimensionnement:

 rapport var: nombre; var large: nombre; var targetWidth: Number = 400; var targetHeight: Number = 250; si (pic.width < targetWidth)  ratio = targetWidth / pic.width; pic.width = targetWidth; pic.height *= ratio; wide = pic.width*ratio;  if (pic.height < targetHeight)  ratio = targetHeight / pic.height; pic.width *= ratio; pic.height = targetHeight; wide = pic.width*ratio;  if (pic.width > targetWidth) ratio = targetWidth / pic.width; pic.width * = ratio; pic.height * = ratio; large = rapport pic.width *;  if (pic.height> targetHeight) ratio = targetHeight / pic.height; pic.width * = ratio; pic.height * = ratio; large = rapport pic.width *;  pic.y = 110; pic.x = 250 - largeur / 2; pic.scaleX = pic.scaleY; square.addChild (pic);

Étape 11: Version DOS de votre fichier de classe AS3

S'il vous plaît jeter un oeil à l'exemple de fichier source / lago.as si vous avez besoin d’aide supplémentaire pour concevoir votre modèle de fichier de classe, il est temps de créer la version DOS de votre fichier..

Ouvrez le fichier lago.bat.txt dans le répertoire source de votre téléchargement et enregistrez le nom dans lago.bat. Si vous utilisez un éditeur de code tel que Notepad ++, vous devriez avoir une syntaxe de surbrillance par lot qui sera maintenant appliquée. Bien que cela ne soit pas nécessaire, la coloration syntaxique facilite grandement le codage par lots..

Rappelez-vous que DOS a besoin de vous pour échapper à certains caractères en les préfixant avec un caret [^] (ou parfois un double caret [^^], y compris:

  • (
  • )
  • >
  • Et

En outre, rappelez-vous les choses suivantes:

  1. Chaque ligne doit commencer par écho afin qu'il soit inclus
  2. Chaque ligne doit se terminer par >>! fileoutta! afin qu'il soit ajouté à notre fichier .bat de créateur de fichiers SWF

Utilisez un programme tel que Notepad ++ pour lancer une recherche RegEx et remplacer, en échappant d’abord les caractères nécessaires, puis en ajoutant le écho commandes au début des lignes, ou où \ n est trouvé, et en ajoutant le >>! fileoutta! avant les retours, ou où \ r est trouvé. Par exemple:

Trouver:

\ n

Remplacer par:

\ n écho

Et

Trouver:

\ r

Remplacer par:

>>! fileoutta!\ r

Enfin, enregistrez cette version DOS de votre fichier, c.-à-d.. myclass.bat.


Étape 12: Commencez à créer votre fichier de commandes DOS

Pour mieux suivre, ouvrez le fichier suivant à partir de votre téléchargement la source annuaire: batch_create_swfs_word_picture_w_audio.bat.txt. Changer le fichier se terminant juste .chauve souris Et enregistrer.

Points concernant ce fichier .bat:

  1. Il fonctionnera dans le dossier où vous le placez
  2. Il utilisera le nom de dossier en tant que variable
  3. Toutes les images seront dans un /images sous-répertoire
  4. Il s’attendra à ce que tous les fichiers audio soient dans une /du son sous-répertoire
  5. Les chemins absolus du compilateur Flex, les polices que vous souhaitez incorporer et éventuellement le programme iconv.exe sont nécessaires.

J'utilise un fichier de liste de mots maîtres pour créer mes fichiers SWF, qui se trouvent dans source / glossary / glossary.txt. Pour créer un tel fichier à partir d’un dossier de fichiers, vous pouvez utiliser l’un de mes fichiers utilitaires .bat se trouvant dans le répertoire. source / utilitaire dossier.

Gardez à l'esprit que le traitement par lots exige que vous soyez très consciencieux lorsque vous nommez des actifs. La meilleure approche consiste à attribuer exactement le même nom à toutes les ressources image et audio destinées au même fichier SWF, puis à les placer dans les sous-dossiers appropriés, par exemple:

son / lago.mp3

images / lago.swf

le glossary / glossary.txt file créer uniquement le fichier SWF pour lago serait simplement lire

lago

La beauté de mon système est que mon glossary.txt fichier peut contenir un nombre illimité de mots - en fait, je l’ai exécuté avec plus de 1000 mots, sans aucun problème! Mais les actifs que vous essayez d'incorporer doivent exister et se trouver au bon emplacement, nommés correctement, sinon la compilation échouera..


Étape 13: Remplacez vos références de fichiers et de répertoires

Regardez encore le batch_create_swfs_word_picture_w_audio.bat fichier. Faites défiler jusqu'à la section située sous le REM 1 title, et vous trouverez le début de la zone dans laquelle vous pouvez ajouter la version DOS du fichier de classe AS3 personnalisé créé à l'étape 11.

Une chose à noter est que j'utilise le variable !myvar! pour le nom du dossier, afin que je puisse déposer ce fichier .bat dans n’importe quel dossier du répertoire principal de mon ordinateur, et les chemins des fichiers seront toujours corrects tant que j’utilise le /images et /du son sous-répertoires. Examinez mon code avant de coller le vôtre, afin de pouvoir effectuer les remplacements appropriés..

Les sections intitulées REM 1, REM 2, REM 3, et REM 4 vous devez tous personnaliser en fonction de vos propres chemins de dossier.


Étape 14: Personnalisation facultative du chemin de conversion iconv UTF-8

Ouvrez le utf_convert.bat.txt fichier et le renommer en utf_convert.bat. Trouvez le REM 1 et REM 2 sections, et remplissez les chemins corrects pour vos fichiers.


Étape 15: Organisez vos fichiers pour un essai

Il est temps de compiler! Recherchez le répertoire principal que vous avez utilisé pour tous vos chemins et créez un nouveau dossier appelé tour d'essai. Ouvrez le dossier de téléchargement de ce didacticiel et copiez les sous-dossiers de source / essai et collez-les dans le tour d'essai dossier que vous venez de créer dans votre répertoire maître.


Étape 16: Copier et coller des fichiers .bat

Copie batch_create_swfs_word_picture_w_audio.bat et éventuellement le utf_convert.bat fichiers au tour d'essai répertoire que vous venez de créer.


Étape 17: Cliquez sur le fichier principal .bat

Il est temps d'essayer la création de fichiers SWF par lots! Cliquer sur batch_create_swfs_word_picture_w_audio.bat Cela créera les fichiers de classe AS3 qui seront utilisés pour générer des fichiers SWF individuels..


Étape 18: Cliquez sur les fichiers .bat de création UTF-8.

Vous recevrez des instructions dans la console de ligne de commande pour cliquer sur le bouton utf_convert.bat et le utf_click_to_convert.bat fichiers, dans cet ordre. Ceci convertira tous vos fichiers de classe AS3 en fichiers compatibles UTF-8 avant d'exécuter le compilateur Flex AS3..


Étape 19: poursuivre la création de lot en cliquant sur une touche quelconque

Une fois la conversion UTF-8 terminée, la console de ligne de commande attend que vous cliquiez sur une touche avant de reprendre. Une fois que vous avez fait cela, la compilation de fichiers SWF commence. Pour l'opération d'essai, 3 fichiers SWF seront créés dans le trialrun / word_scripts_sp_au_utf8 annuaire.


Étape 20: Vérifiez vos fichiers SWF

Ouvrez le trialrun / word_scripts_sp_au_utf8 répertoire et voir si vos fichiers SWF sont là. En plus des fichiers de classe .as, vous devriez voir: lago.swf, nieve.swf, et hielo.swf.
Lorsque vous exécutez vos propres listes de mots pour la création de lots SWF, vous pouvez avoir des noms de fichiers longs qui doivent être renommés par lots. Comme vous ne pouvez pas avoir de tirets dans vos noms de classe AS3, j’utilise des chiffres pour les remplacer le cas échéant, puis j’exécute un petit utilitaire .bat trouvé dans utility / rename_long_swfs.bat.txt de votre dossier de téléchargement. Renommez l’extension de ce fichier en .bat, puis copiez-le dans le word_scripts_sp_au_utf8 dossier dans lequel se trouvent vos fichiers SWF finis afin de renommer un groupe de fichiers SWF.


Conclusion

J'espère que ce tutoriel aidera certains d'entre vous à apprécier les merveilles et le vrai bonheur de programmation que permet la création de lots SWF par le biais de DOS. Voir des centaines de fichiers SWF multimédias parfaits créés en quelques clics est un sentiment extraordinaire! Merci beaucoup d'avoir lu ce tutoriel et j'attends avec impatience vos commentaires ou questions..

Remarque: Il est à noter que ANT est souvent considéré comme une alternative valable pour la création de fichiers de traitement par lots, en particulier pour les utilisateurs de Mac. Découvrez Introduction to AntPile de Jesse Freeman pour en savoir plus..