Questo articolo ci spiega come ottenere un testo simile alle vecchie macchine da scrivere. L'effetto è stato creato tutto grazie alla potenza dell'actionscript.
All'effetto abbiamo anche abbinato il suono che simula lo stampaggio della lettera sul foglio. Il suono viene associato al battimento della lettera con attachSound e abbiamo impostato il valore del volume con setVolume su 25. Avendo impostato la velocità di battitura lettere su 28 il suono si abbina perfettamente allo stampaggio della lettera.
All'interno del codice in actionscript potremo scrivere in una variabile str il testo che vogliamo visualizzare all'interno della casella input e con il metodo newline possiamo mandare il testo a capo visualizzando una nuova riga.
Ora creiamo una classe che ci permette di scrivere il testo str all'interno della casella input. Il metodo substring ci permette di conteggiare il numero di caratteri che la variabile str contiene avviando così la scrittura del testo e con la condizione If Then possiamo stoppare la battitura se il numero di caratteri stampati e uguale al numero di caratteri totali che la variabile str contiene.
Se vogliamo caricare il testo esterno da un file txt, facendo caso che il contenuto del file txt è così scritto: str=Da quando ci siamo visti la prima volta...
Ritorniamo al codice actionscript premendo F9 e dobbiamo sostituire il seguente codice:
// testo da battere str = ""; str += "Benvenuto nella macchina da scrivere!"+newline; str += "Ecco questa è una riga"+newline; str += "e questa è ancora una nuova riga!"+newline; str += "Puoi scrivere ciò che vuoi..."+newline; str += "Buon divertimento!"+newline; str += ""+newline; str += "by conti davide"+newline; setInterval(scrive, speed, str);
con questo citato qui sotto:
// caricamento testo esterno file txt dati = new LoadVars(); dati.path = this; dati.onLoad = function(success) { if (success) { this.path.str = this.str; trace(str); setInterval(scrive, speed, str); } else { // istruzioni per l'errore di caricamento } }; dati.load("test.txt");
Se il testo da caricare è molto lungo, per mandare a capo il testo basta inserire il tag <BR>. Ad esempio il testo è: str=Da quando ci siamo visti la prima volta...
diventerà così: str=Da quando ci<BR> siamo visti la prima<BR> volta...
grazie davide sei un mito! Avevi ragione e funziona alla grande. by lucas
by davide
il
09/11/2004
quando apri il file fla spostati nel livello AreaTesto che contiene la casella dinamica detta output, vai nelle proprietà della casella e attiva l'opzione rendi il testo come html così funziona correttamente.
by lucas
il
09/11/2004
ho provato a caricare il testo da un file esterno, quando faccio partire il filmato la funzione trace mi dice che il testo è caricato correttamente ma non si vede nulla di stampato nello stage?? Come devo fare?? Thanks
by roberto
il
28/08/2004
complimenti davvero bello questo effetto
by lucas
il
17/08/2004
davvero bello questo script, mi è stato molto utile.