Crearea loturilor de SWF folosind DOS și compilatorul liniei de comandă Flex

Să ne uităm la crearea conținutului în vrac. Vom folosi un fișier Batch DOS pentru a genera rapid mai multe SWF-uri care conțin text, sunet, imagini etc., dar care urmează un șablon definit de noi.


Trebuie să recunosc, sunt un iubitor SWF. Ați auzit multe în aceste zile despre HTML5 și alte tehnologii emergente care vor pune cumva vechile SWF vechi, dar voi fi unul dintre acei dezvoltatori care se agață de SWF-ul meu iubit atâta timp cât pot. În ultimii 14 ani, SWF a fost unic în capacitatea sa de a furniza conținut media bogat pe web, cu mult înainte ca orice alte tehnologii să poată veni chiar și aproape.

Pentru eLearning, SWF este încă destul de mult standard și este ceva ce folosesc în tot conținutul lecției mele. Îl folosesc pentru totul, de la videoclipuri virtuale tutore la imagini vectoriale, texte vectoriale și activități interactive de orice fel.

Pentru a face crearea de conținut în vrac, am descoperit că nimic nu funcționează destul de rapid și puternic ca un fișier Batch DOS bun. Puteți scrie și modifica rapid un fișier batch pentru a face tot felul de lucruri interesante și dacă lucrați cu o cantitate mare de imagini, text și audio, un fișier batch poate transforma rapid acest conținut în conținut multimedia sub forma unui SWF.

Motivele pentru care ați putea dori să faceți acest lucru sunt:

  1. Nu aveți instalat Flash pe computerul în care lucrați
  2. Doriți să creați SWF-uri în bloc
  3. Doriți să creați SWF-uri din linia de comandă

Singurul instrument din Windows pe care aveți nevoie de altceva decât editorul de cod este Flex SDK și, opțional, o aplicație open source ASCII pentru conversia UTF-8 numită iconv din proiectul GnuWin, dacă intenționați să utilizați caractere sau accente internaționale în textul dvs..


Rezultatul final al rezultatelor

Să aruncăm o privire asupra rezultatului final la care vom lucra


Pasul 1: Determinați tipul SWF

Crearea în bloc înseamnă că toate SWF-urile dvs. vor urma același șablon, deci decideți ce fel de elemente aveți nevoie de: text vectorial, imagine, audio etc..


Pasul 2: Organizați active și fonturi

Denumiți fișierele în mod corespunzător: fiecare text, imagine și fișier audio trebuie să aibă nume potrivite, precum și caz. Dacă fișierele dvs. sunt dezorganizate, este posibil să doriți să descărcați un program utilitar de fișiere pentru a le redenumi lot, pentru a le converti în litere mici, etc. Un astfel de program pe care l-am găsit se numește Utilities Utilities File.

Poate doriți să deschideți un fișier text și să păstrați o listă de căi absolute pentru aceste elemente, inclusiv orice fonturi pe care intenționați să le încorporați.

În sursa / utilitate dosarul descărcării pentru acest tutorial, veți găsi câteva mici scripturi batch care vă pot ajuta să creați o listă de cuvinte cheie pentru a fi utilizată cu crearea SWF. Dacă numele fișierelor conțin mai mult de un cuvânt, utilizați a liniuță între cuvinte [-]. Dash-urile sunt deja găzduite în fișierul meu principal .bat care creează SWF-urile. Atunci când se utilizează liniuțe, acestea sunt convertite în numere și apoi convertite în liniuțe cu un alt fișier de utilitate mic, deoarece în caz contrar fișierele din clasa AS3 nu reușesc să compileze.


Pasul 3: Creați șablon de fișier clasa AS3

Deschideți editorul de cod (întotdeauna folosesc Notepad ++ pentru codarea în mai multe limbi, este o aplicație open source uimitoare).

În următorii pași, voi schița elemente posibile pentru a vă adăuga la definiția fișierului dvs. de clasă, care va fi utilizată de fișierul DOS pentru a genera toate SWF-urile dvs..

Dacă doriți să urmați împreună examinarea fișierului de clasă pe care l-am folosit pentru aceste fragmente, deschideți-l Sursă / lago.as fișier în pachetul de descărcare pentru acest tutorial.

Incepem prin adaugarea unui layout generic de pachete in AS3, care fara functii ar arata cam asa:

 pachet import flash.display.Sprite; import flash.display. *; clasa publica lago extinde Sprite 

Acum, să adăugăm câteva elemente reale SWF-ul nostru!


Pasul 4: Încărcarea unui MP3

Ca întotdeauna, începeți prin a importa fișierele de clasă necesare:

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

Aici este un cod pentru a încorpora un sunet într-o locație statică. Vei observa când vom ajunge să creăm fișierul DOS, vom folosi variabilele pentru dosarul și numele fișierului nostru.

 [Embed (sursă = "C: /Users/You/Desktop/sound/lago.mp3")] public var classClass: Class; var sndChannel: SoundChannel; var smallSound: sunet = sunet nou () ca sunet;

Pasul 5: Încorporarea unei imagini

Aici este codul pentru a încorpora o imagine:

 [Embed (sursă = "C: /Users/You/Desktop/images/lago.swf")] public var Imagine: Clasă; var pic: Sprite = imagine nouă ();

În fișierul meu mai întâi creez un Sprite, la care adaug imaginea, dar dacă vrei să adaugi imaginea directă pe scena pe care o vei folosi:

 addChild (pic);

Pasul 6: Încărcarea unui font

Pe măsură ce folosesc caractere internaționale, îmi încorporez fontul specificând care caractere Unicode trebuie să includă:

 [Embed (mimeType = "aplicație / x-font", unicodeRange = "U + 0061-U + 007A, U + 00E1-U + 00E1, 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 ", sursa =" C: /Users/You/Desktop/BradBunR.ttf ", fontName =" Brady ")] terminator privat varFontClass: Class;

Pentru a vedea care caractere aveți nevoie, puteți verifica această diagramă aici, găsită la site-ul Universității din Wisconsin-Madison, Spațiul, Știința și Ingineria. În Windows, puteți să vă deschideți programul charmap.exe și să examinați valorile caracterelor de care aveți nevoie.

Charmap.exe

Pasul 7: Utilizarea textFormat pentru stilul textului

Începeți prin a importa clasele necesare:

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

Acum creați un textfield și atașați a textFormat la el:

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

Acum, să aplicăm ceva stil textului nostru. Am folosit o dimensiune pentru textul de mai jos, dar în fișierul meu actual ajustează dimensiunea bazată pe lungimea șirului, astfel că această linie de dimensiune nu ar fi folosită.

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

Pasul 8: Modificarea dimensiunii fontului în funcție de lungimea șirului

Acesta a fost un pic de cod complicat, dar dacă încercați să creați SWF-uri în vrac de fraze și chiar propoziții, mai degrabă decât doar cuvinte singulare, veți găsi că este necesar să se găsească pentru lungimi diferite de șir. În caz contrar, unele dintre cuvintele dvs. vor fi fie prea mari, fie prea mici.

 dacă (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; 

Desigur, puteți schimba aceste valori în funcție de propriile dvs. nevoi de conținut.


Pasul 9: Centrarea textului în a textfield

Această linie ma izbucnit la început, și a fost crucială pentru a obține textul meu să centreze în mod corespunzător în textfield.

 __text_tf.autoSize = "center";

Pasul 10: Centrarea și redimensionarea proporțională a unei imagini

Acest cod a avut cea mai mare parte a unei zile pentru a avea dreptate, și este singura modalitate prin care am găsit să redimensionăm și să centrați în mod corespunzător un SWF. Puteți schimba x, y, targetHeight, și targetWidth valori în funcție de dimensiunea SWF-urilor dvs., dar în caz contrar acest cod vă poate ajuta să realizați centrarea și redimensionarea:

 raport var: număr; var larg: Număr; var targetWidth: Număr = 400; var targetHeight: Number = 250; dacă (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 * = raport; pic.height * = raport; raportul lățimea = pic.width *;  dacă (pic.height> targetHeight) ratio = targetHeight / pic.height; pic.width * = raport; pic.height * = raport; raportul lățimea = pic.width *;  pic.y = 110; pic.x = 250 - lățime / 2; pic.scaleX = pic.scaleY; square.addChild (pic);

Pasul 11: Versiunea DOS a fișierului de clasă AS3

Vă rugăm să aruncați o privire la fișierul eșantion Sursă / lago.as dacă aveți nevoie de mai mult ajutor pentru realizarea șablonului de fișiere de clasă, deoarece acum este momentul să creați versiunea DOS a fișierului.

Deschideți fișierul lago.bat.txt în directorul sursă al descărcării și salvați numele la doar lago.bat. Dacă utilizați un editor de cod, cum ar fi Notepad ++, trebuie să aveți o sintaxă de evidențiere a loturilor care va fi aplicată acum. În timp ce nu este necesar, evidențierea sintaxei face ca codarea lotului să fie mult mai ușoară.

Amintiți-vă că DOS are nevoie de evadarea anumitor caractere prin prefixarea acestora cu a semn de omisiune [^] (sau uneori a dublu-caret [^^], inclusiv:

  • (
  • )
  • >
  • &

De asemenea, amintiți-vă următoarele lucruri:

  1. Fiecare linie trebuie să înceapă cu ecou astfel încât să fie inclusă
  2. Fiecare linie trebuie să se încheie cu >> fileoutta! astfel încât acesta să fie atașat fișierului .bat creator al SWF

Utilizați un program ca Notepad ++ pentru a rula o căutare și înlocuire RegEx, scapând mai întâi de caracterele necesare, apoi adăugând ecou comenzile de la începutul liniilor sau unde \ n se găsește și adăugați >> fileoutta! înainte de a reveni sau unde se află. De exemplu:

Găsi:

\ n

Înlocui cu:

\ n ecou

Și

Găsi:

\ r

Înlocui cu:

>> fileoutta!\ r

În cele din urmă, salvați această versiune DOS a fișierului dvs., adică. myclass.bat.


Pasul 12: Începeți să creați fișierul DOS Batch

Pentru a urmări mai bine, deschideți următorul fișier din descărcări sursă director: batch_create_swfs_word_picture_w_audio.bat.txt. Schimbați fișierul care se termină la doar .băţ și salvați.

Puncte despre acest fișier .bat:

  1. Acesta va rula în dosarul în care îl plasați
  2. Acesta va folosi numele fisierului ca variabilă
  3. Se va aștepta ca imaginile să fie într-una / imagini subdirector
  4. Se va aștepta ca fișierele audio să fie într-un /sunet subdirector
  5. Calele absolute pentru compilatorul Flex, orice fonturi pe care doriți să le încorporați și opțional programul iconv.exe sunt necesare

Folosesc un fișier listă de cuvinte cheie pentru a crea SWF-urile mele, care se găsește în sursa / glosar / glossary.txt. Pentru a crea un astfel de fișier dintr-un dosar de fișiere, puteți utiliza unul dintre fișierele .bat de utilitate găsite în fișierul sursa / utilitate pliant.

Rețineți că procesarea în lot vă cere să fii foarte conștiincios atunci când numiți orice bunuri. Cea mai bună abordare este să dați exact aceleași nume imaginilor și materialelor audio destinate aceluiași SWF, apoi să le puneți în subdosarele corecte - de exemplu:

sunet / lago.mp3

images / lago.swf

glossary / glossary.txt pentru a crea doar SWF pentru lago ar citi pur și simplu

lago

Frumusețea sistemului meu este aceea a mea glossary.txt fișierul poate conține o cantitate nelimitată de cuvinte - de fapt l-am executat cu 1000 de cuvinte, fără probleme! Dar activele pe care încercați să le încorporați trebuie să existe și să fie în locația corectă, numită corect, sau SWF pentru acel cuvânt nu va reuși să compileze.


Pasul 13: Înlocuiți referințele fișierului și directorului

Uită-te din nou la batch_create_swfs_word_picture_w_audio.bat fişier. Derulați în jos până la secțiunea de sub REM 1 titlu și veți găsi începutul zonei în care puteți adăuga versiunea DOS a fișierului de clasă AS3 personalizat pe care l-ați creat în Pasul 11.

Un lucru de remarcat este că folosesc variabil !myVar! pentru numele dosarului, astfel încât să pot renunța la acest fișier .bat în orice director dintr-un director principal de pe computerul meu, iar căile spre fișiere vor fi totuși corecte, atâta timp cât folosesc / imagini și /sunet subdirectoare. Examinați codul meu înainte de a păstra propriul dvs. în, astfel încât să puteți face înlocuirile corespunzătoare.

Secțiunile denumite REM 1, REM 2, REM 3, și REM 4 toate necesită să personalizați pe baza propriilor căi de dosar.


Pasul 14: Opțional Customize iconv UTF-8 Path Converter

Deschideți utf_convert.bat.txt fișier și redenumiți-l la utf_convert.bat. Găsi REM 1 și REM 2 secțiuni și completați căile corecte pentru fișierele dvs..


Pasul 15: Organizați-vă fișierele pentru o încercare de funcționare

E timpul să compilați! Găsiți directorul principal pe care l-ați utilizat pentru toate căile dvs. și creați un folder nou numit proba. Deschideți dosarul de descărcare pentru acest tutorial și copiați subfolderele din Sursa / trialrun și lipiți-le în proba dosarul pe care tocmai l-ați creat în directorul principal.


Pasul 16: Copiați și lipiți fișiere .bat

Copie batch_create_swfs_word_picture_w_audio.bat și opțional utf_convert.bat fișiere către proba directorul pe care l-ați creat.


Pasul 17: Faceți clic pe fișierul Main .bat

Este timpul să dați o încercare formării SWF în loturi! Click pe batch_create_swfs_word_picture_w_audio.bat Aceasta va crea fișiere de clasă AS3 care vor fi folosite pentru a genera SWF-uri individuale.


Pasul 18: Faceți clic pe fișierele .bat Creare UTF-8

Veți primi instrucțiuni în Consola de comandă pentru a face clic pe utf_convert.bat si utf_click_to_convert.bat fișiere, în ordinea respectivă. Aceasta va converti toate fișierele de clasă AS3 în fișiere compatibile UTF-8 înainte de a rula compilamentul Flex AS3.


Pasul 19: Continuați crearea loturilor făcând clic pe orice tastă

După ce se face conversia UTF-8, Consola de comandă va aștepta să faceți clic pe orice tastă, înainte de a relua. După ce faceți acest lucru, compilarea SWF va începe. Pentru operația de încercare, vor fi create 3 fișiere SWF în trialrun / word_scripts_sp_au_utf8 director.


Pasul 20: Verificați SWF-urile

Deschideți trialrun / word_scripts_sp_au_utf8 director și vedeți dacă fișierele SWF sunt acolo. Pe lângă fișierele de clasă .as, ar trebui să vedeți: lago.swf, nieve.swf, și hielo.swf.
Când rulați propriile liste de cuvinte pentru crearea SWF în lot, este posibil să aveți nume lungi de fișiere care trebuie redenumite în lot. Deoarece nu aveți liniuțe în numele claselor AS3, folosesc numerele pentru a le înlocui atunci când este necesar, apoi rulau un mic utilitar .bat găsit în utilitate / rename_long_swfs.bat.txt din dosarul de descărcare. Redenumiți extensia acestui fișier în .bat, apoi copiați-l în word_scripts_sp_au_utf8 folderul în care se află SWF-urile finalizate pentru a face această redenumire pe un grup de SWF-uri.


Concluzie

Sper că acest tutorial vă va ajuta pe unii dintre voi să vă bucurați de minuni și de adevărata fericire de programare care pot veni cu crearea de pachete SWF prin DOS. Pentru a vedea sute de SWF multimedia perfect create cu doar câteva clicuri este un sentiment destul de mare! Vă mulțumim foarte mult pentru faptul că ați citit acest tutorial și aștept cu nerăbdare orice comentarii sau întrebări pe care le puteți avea.

Notă: Merită remarcat faptul că ANT este adesea considerată o alternativă demnă pentru crearea de fișiere batch, în special pentru utilizatorii Mac. Check out Introducere în AntPile lui Jesse Freeman pentru a afla mai multe.

Cod