Diamo un'occhiata alla creazione di contenuti in serie. Useremo un file batch DOS per generare rapidamente più file SWF contenenti testo, audio, immagini ecc. Ma che seguono un modello definito da noi.
Devo ammettere, sono un amante del SWF. In questi giorni si sente molto parlare di HTML5 e di altre tecnologie emergenti che in qualche modo metteranno fuori gioco il buon vecchio SWF, ma io sarò uno di quegli sviluppatori che si aggrappano al mio amato SWF per tutto il tempo che posso. Negli ultimi 14 anni circa, il SWF è stato unico nella sua capacità di fornire contenuti multimediali attraverso il web, molto prima che altre tecnologie potessero arrivare anche vicino.
Per l'elearning, il SWF è ancora più o meno lo standard ed è qualcosa che uso in tutti i miei contenuti di lezione. Lo uso per tutto, dai video dei tutor virtuali alle immagini vettoriali, testo vettoriale e attività interattive di tutti i tipi.
Per la creazione di contenuti in blocco, ho riscontrato che nulla funziona in modo altrettanto rapido e potente come un buon file batch DOS. È possibile scrivere e modificare rapidamente un file batch per fare tutti i tipi di cose interessanti, e se si lavora con una grande quantità di immagini, testo e audio, un file batch può trasformarlo rapidamente in un contenuto multimediale sotto forma di un SWF.
Le ragioni per le quali potresti voler fare questo includono:
L'unico strumento di cui hai bisogno a parte il tuo editor di codice è Flex SDK e, facoltativamente, un'applicazione di conversione da ASCII a UTF-8 open source chiamata iconv dal progetto GnuWin, se prevedi di utilizzare caratteri internazionali o segni di accento nel testo.
Diamo un'occhiata al risultato finale su cui lavoreremo
La creazione di massa significa che tutti i file SWF seguiranno lo stesso modello, quindi decidi il tipo di elementi di cui hai bisogno: testo vettoriale, immagine, audio, ecc..
Assegna un nome ai tuoi file in modo appropriato: ogni testo, immagine e file audio dovrebbe avere nomi corrispondenti, così come case. Se i tuoi file sono disorganizzati, potresti voler scaricare un programma di utilità file per rinominarli in batch, convertirli in lettere minuscole, ecc. Uno di questi programmi è chiamato Utilità file utili.
Potresti voler aprire un file di testo e mantenere un elenco di percorsi assoluti per questi elementi, inclusi tutti i tipi di carattere che hai intenzione di incorporare.
Nel source / utility cartella del download per questo tutorial, troverai alcuni piccoli script batch che possono aiutarti a creare un wordlist master da utilizzare con la creazione SWF. Se i nomi dei file contengono più di una parola, utilizzare a trattino tra le parole [-]. I trattini sono già sistemati nel mio file .bat principale che crea i file SWF. Quando si usano i trattini, vengono convertiti in numeri e successivamente convertiti in trattini con un altro piccolo file di utilità, altrimenti i file di classe AS3 non riusciranno a compilare.
Apri il tuo editor di codice (io uso sempre Notepad ++ per la codifica multi lingua, è una fantastica applicazione open source).
Nei seguenti passaggi, traccerò i possibili elementi da aggiungere alla definizione del file di classe, che verrà utilizzata dal file DOS per generare tutti i file SWF.
Se desideri seguire insieme esaminando il file di classe che ho usato per questi frammenti, apri il source / lago.as file nel pacchetto di download per questo tutorial.
Iniziamo con l'aggiunta di un layout di pacchetto generico in AS3, che senza alcune funzioni sarebbe simile a questo:
pacchetto import flash.display.Sprite; import flash.display. *; la classe pubblica lago estende Sprite
Ora aggiungiamo alcuni elementi reali al nostro SWF!
Come sempre, si inizia importando i file di classe necessari:
import flash.media.Sound; import flash.media.SoundChannel;
Ecco il codice per incorporare un suono in una posizione statica. Noterai quando verremo a creare il nostro file DOS, utilizzeremo invece le variabili per la nostra cartella e il nome del file.
[Incorpora (source = "C: /Users/You/Desktop/sound/lago.mp3")] public var soundClass: Class; var sndChannel: SoundChannel; var smallSound: Sound = new soundClass () come Sound;
Ecco il codice per incorporare un'immagine:
[Incorpora (source = "C: /Users/You/Desktop/images/lago.swf")] public var Immagine: Class; var pic: Sprite = new Picture ();
Nel mio file creo prima uno Sprite, a cui aggiungo l'immagine, ma se vuoi aggiungere l'immagine direttamente allo stage devi solo usare:
addChild (PIC);
Poiché sto usando caratteri internazionali, incorporo il mio carattere specificando quali caratteri Unicode includere:
[Incorpora (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;
Per vedere quali personaggi hai bisogno, puoi controllare questo grafico qui, che si trova sul sito Web della University of Wisconsin-Madison, Space, Science and Engineering. In Windows, puoi anche aprire il tuo programma charmap.exe e osservare i valori dei caratteri che ti servono.
textFormat
per modellare il tuo testoInizia importando le classi necessarie:
import flash.text. *; import flash.text.TextFormat; import flash.text.AntiAliasType;
Ora crea un campo di testo
e allega un textFormat
ad esso:
var __text_tf: TextField = new TextField (), __ format: TextFormat = new TextFormat ();
Ora applichiamo alcuni stili al nostro testo. Ho usato una dimensione per il testo sottostante, ma nel mio file reale ho regolato la dimensione in base alla lunghezza della stringa, quindi questa linea non sarebbe stata usata.
__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;
Si trattava di un pezzo di codice complicato, ma se stai cercando di creare file SWF di frasi e persino frasi piuttosto che singole parole, troverai che è necessario adattarsi a lunghezze di stringa diverse. Altrimenti alcune delle tue parole saranno troppo grandi o troppo piccole.
se (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;
Ovviamente è possibile modificare questi valori in base alle proprie esigenze di contenuto.
campo di testo
All'inizio questa linea mi ha eluso ed è stato fondamentale per ottenere il corretto centraggio del mio testo nel campo di testo
.
__text_tf.autoSize = "center";
Questo codice ha preso la parte migliore di un giorno per essere corretto, ed è l'unico modo che ho trovato per ridimensionare e centrare correttamente un SWF. Puoi cambiare la x, y, targetHeight
, e targetWidth
valori in base alla dimensione dei propri file SWF, ma in caso contrario questo codice può aiutarti a centrare e ridimensionare:
rapporto var: numero; var wide: Number; var targetWidth: Number = 400; var targetHeight: Number = 250; se (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; ampiezza = rapporto pic.width *; if (pic.height> targetHeight) ratio = targetHeight / pic.height; pic.width * = ratio; pic.height * = ratio; ampiezza = rapporto pic.width *; pic.y = 110; pic.x = 250 - wide / 2; pic.scaleX = pic.scaleY; square.addChild (PIC);
Si prega di dare un'occhiata al file di esempio source / lago.as se hai bisogno di più aiuto per creare il tuo modello di file di classe, ora è il momento di creare la versione DOS del tuo file.
Apri il file lago.bat.txt nella directory di origine del download e salva il nome su lago.bat. Se stai usando un editor di codice come Notepad ++, dovresti avere una sintassi di evidenziazione batch che verrà ora applicata. Anche se non è necessario, l'evidenziazione della sintassi semplifica la codifica di Batch.
Ricorda che il DOS ha bisogno di te per sfuggire a determinati caratteri anteponendoli a a segno di omissione [^] (o talvolta a doppio accento circonflesso [^^], inclusi:
Inoltre, ricorda le seguenti cose:
eco
in modo che sia incluso >>! fileoutta!
in modo che venga aggiunto al file .bat del creatore SWFUtilizzare un programma come Notepad ++ per eseguire una ricerca RegEx e sostituirla, per prima cosa sfuggire i caratteri necessari, quindi aggiungere il eco
comandi all'inizio delle linee, o dove viene trovato \ n, e aggiungendo il >>! fileoutta!
prima dei resi, o dove viene trovato. Per esempio:
Trova:
\ n
Sostituirlo con:
\ n eco
E
Trova:
\ r
Sostituirlo con:
>>! fileoutta!
\ r
Finalmente salva questa versione DOS del tuo file, ad es. myclass.bat.
Per seguire meglio, apri il seguente file dal tuo download fonte directory: batch_create_swfs_word_picture_w_audio.bat.txt. Cambia il file che termina con .pipistrello e salvare.
Punti su questo file .bat:
Uso un file di elenco di parole chiave per creare i miei file SWF, che si trovano in source / Glossario / glossary.txt. Per creare un file di questo tipo da una cartella di file, è possibile utilizzare uno dei miei file .bat di utilità trovati in source / utility cartella.
Tieni presente che l'elaborazione in batch richiede di essere molto coscienzioso quando si nominano risorse. L'approccio migliore consiste nel dare a qualsiasi immagine e risorse audio destinate allo stesso SWF lo stesso nome esatto, quindi inserirle nelle sottocartelle corrette, ad esempio:
suono / lago.mp3
images / lago.swf
Il glossario / glossario.txt per creare solo il SWF per Lago leggerebbe semplicemente
Lago
La bellezza del mio sistema è quella mia glossary.txt il file può contenere un numero illimitato di parole, infatti l'ho eseguito con più di 1000 parole, senza alcun problema! Ma le risorse che si sta tentando di incorporare devono esistere e trovarsi nella posizione corretta, denominate correttamente, oppure il file SWF per quella parola non riuscirà a compilare.
Guarda di nuovo il batch_create_swfs_word_picture_w_audio.bat file. Scorri verso il basso fino alla sezione sotto il REM 1 titolo, e troverai l'inizio dell'area in cui puoi aggiungere la versione DOS del file di classe AS3 personalizzato che hai creato nel passaggio 11.
Una cosa da notare è che io uso il variabile !myvar!
per il nome della cartella, in modo da poter rilasciare questo file .bat in qualsiasi cartella all'interno di una directory principale sul mio computer, e i percorsi dei file continueranno a essere corretti fintanto che userò il /immagini e /suono sottodirectory. Esaminare il mio codice prima di incollare il proprio, in modo da poter effettuare le sostituzioni appropriate.
Le sezioni intitolate REM 1, REM 2, REM 3, e REM 4 tutti richiedono di personalizzare in base ai propri percorsi di cartelle.
Apri il utf_convert.bat.txt file e rinominarlo in utf_convert.bat. Trovare la REM 1 e REM 2 sezioni e inserisci i percorsi corretti per i tuoi file.
È ora di compilare! Trova la directory principale che hai utilizzato per tutti i tuoi percorsi e crea una nuova cartella chiamata giro di prova. Apri la cartella di download per questo tutorial e copia le sottocartelle da source / trialrun e incollali nel giro di prova cartella che hai appena creato nella tua directory principale.
copia batch_create_swfs_word_picture_w_audio.bat e opzionalmente il utf_convert.bat file al giro di prova directory appena creata.
È ora di provare la creazione di file SWF in batch! Clicca su batch_create_swfs_word_picture_w_audio.bat Questo creerà i file di classe AS3 che verranno utilizzati per generare singoli file SWF.
Ti verranno fornite istruzioni nella console della riga di comando per fare clic su utf_convert.bat e il utf_click_to_convert.bat file, in questo ordine. Questo convertirà tutti i file di classe AS3 in file compatibili con UTF-8 prima di eseguire il compilatore Flex AS3.
Al termine della conversione UTF-8, la console della riga di comando attenderà che tu faccia clic su qualsiasi tasto, prima di riprendere. Una volta fatto, inizierà la compilazione SWF effettiva. Per l'operazione di prova, verranno creati 3 file SWF in trialrun / word_scripts_sp_au_utf8 elenco.
Apri il trialrun / word_scripts_sp_au_utf8 directory e vedere se i file SWF ci sono. Accanto ai file di classe .as, dovresti vedere: lago.swf, nieve.swf, e hielo.swf.
Quando si eseguono le proprie liste di parole per la creazione di file SWF batch, è possibile che i nomi di file lunghi debbano essere rinominati in batch. Dato che non puoi avere trattini nei nomi delle classi AS3, uso i numeri per sostituirli quando necessario, quindi eseguo una piccola utility .bat trovata in utility / rename_long_swfs.bat.txt della tua cartella di download. Rinominare l'estensione di questo file in .bat, quindi copiarlo nel word_scripts_sp_au_utf8 cartella in cui risiedono i file SWF completati per eseguire la ridenominazione su un gruppo di file SWF.
Spero che questo tutorial possa aiutare alcuni di voi a godere delle meraviglie e della vera felicità di programmazione che possono derivare dalla creazione di batch SWF tramite DOS. Vedere centinaia di SWF multimediali perfetti creati con pochi clic è davvero una bella sensazione! Grazie mille per aver dato a questo tutorial una lettura, e non vedo l'ora di eventuali commenti o domande che potresti avere.
Nota: Vale la pena notare che ANT è spesso considerato un'alternativa degna per la creazione di file batch, in particolare per gli utenti Mac. Leggi l'Introduzione di Jesse Freeman su AntPile per saperne di più.