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:
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..
Jetons un coup d'œil au résultat final sur lequel nous allons travailler
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..
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..
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.!
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;
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);
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..
textFormat
styliser votre texteCommencez 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;
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..
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";
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);
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:
En outre, rappelez-vous les choses suivantes:
écho
afin qu'il soit inclus >>! fileoutta!
afin qu'il soit ajouté à notre fichier .bat de créateur de fichiers SWFUtilisez 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.
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:
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..
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.
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.
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.
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.
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..
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..
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.
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.
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..