Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    28

    Spiegazione script testo random

    Salve a tutti.
    Rovistando tra gli esempi presenti nel sito di un grande flasher (a chi fischieranno le orecchie spero si faccia vivo :gren: ) ho trovato questo bell'effettino che volevo applicare nel mio lavoro.
    Lo ripropongo per comodità di tutti:

    codice:
    onClipEvent (load) {
    	lettere = "abcdefghilmnopqrstuvxyzABCDEFGHILMNOPQRSTUVXYZ,.?!";
    	scritta = "Ciao, come stai?";
    	numlet = lettere.length;
    	lett = new Array(numlet);
    	for(i=0;i<numlet;i++)
    		lett[i] = lettere.substr(i,1);
    	numscrit = scritta.length;
    	scrit = new Array(numscrit);
    	for(i=0;i<numscrit;i++)
    		scrit[i] = scritta.substr(i,1);
    	intervallo = 1000; //intervallo prima della composizione della frase
    	posx = 20;
    	for (i=0; i<numscrit; i++) {
    		_root.attachMovie("mc_testo", "testo"+i, 10+i);
    		_root["testo"+i]._x = posx;
    		_root["testo"+i]._y = 150;
    		_root["testo"+i].testo = lett[random(numlet)];
    		posx += _root["testo"+i]._width;
    	}
    	timer = getTimer();
    	j = 0;
    }
    onClipEvent (enterFrame) {
    	if (intervallo+timer>getTimer()) {
    		for (i=j; i<numscrit; i++) {
    			_root["testo"+i].testo = lett[random(numlet)];
    		}
    	} else {
    		_root["testo"+j].testo = scrit[j];
    		j++;
    		timer = getTimer();
    		intervallo = 50;
    	}
    }
    fino all'istruzione "posx=20; " tutto ok. Dopodiché da bravo scriptista non ci capisco più una mazza. Non è che qualcuno potrebbe brrrevemente commentare il funzionamento delle righe più impegnative? Inoltre, siccome questo esempio vale per una riga singola, come potrei fare nel caso in cui il testo sia composto da più righe (precedentemente messe a capo tramite i
    ? Grazie tante a chi volesse rispondermi!

    PS: ovviamente se necessario chiedo all'autore dello script, il permesso di riutilizzare il codice in questione.
    flasher da strapazzo

  2. #2
    for (i=0; i<numscrit; i++) {
    _root.attachMovie("mc_testo", "testo"+i, 10+i);
    _root["testo"+i]._x = posx;
    _root["testo"+i]._y = 150;
    _root["testo"+i].testo = lett[random(numlet)];
    posx += _root["testo"+i]._width;
    }


    duplica un movie "mc_testo", rinominadolo in mc_testo1,2,3 ad ogni giro di for

    poi riposiziona
    _root.testo1._x=posx
    _root.testo1._Y=150
    assegna al campo dinamico, la cui variabile si chiama "testo"

    _root.testo1.testo = il contenuto dell'array indicando un indice con valore random, il cuni numero massimo è contenuto in numlet

    aggiunge a posx la larghezza di _root.testo1


    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    28
    Quando si dicono le coincidenze... stavo giusto guardando il tuo sito :bubu:
    Sto cercando ci capirci qualcosa, cmq in linea di massima è tutto più chiaro, tranne per la seconda funzione onClipEvent.
    Se puoi, hai fatto 30... (scherzo eh, grazie cmq lo stesso!).
    Ora stacco... a domani eventualmente!
    flasher da strapazzo

  4. #4

  5. #5
    io l'ho modificato così, ravvicinando le lettere.

    codice:
    onClipEvent (load) {
    	lettere = " abcdefghilmnopqrstuvxyzABCDEFGHILMNOPQRSTUVXYZ,.?!";
    	scritta = "Ciao, come stai?";
    	numlet = lettere.length;
    	lett = new Array(numlet);
    	for(i=0;i<numlet;i++)
    		lett[i] = lettere.substr(i,1);
    	numscrit = scritta.length;
    	scrit = new Array(numscrit);
    	for(i=0;i<numscrit;i++)
    		scrit[i] = scritta.substr(i,1);
    	intervallo = 1000; //intervallo prima della composizione della frase
    	posx = 20;
    	for (i=0; i<numscrit; i++) {
    		_root.attachMovie("mc_testo", "testo"+i, 10+i);
    		_root["testo"+i]._x = posx;
    		_root["testo"+i]._y = 150;
    		_root["testo"+i].testo.text = lett[random(numlet)];
    		_root["testo"+i].testo.autosize="left" 
    		posx += _root["testo"+i]._width;
    	}
    	timer = getTimer();
    	j = 0;
    }
    onClipEvent (enterFrame) {
    	if (intervallo+timer>getTimer()) {
    		for (i=j; i<numscrit; i++) {
    			_root["testo"+i].testo.text = lett[random(numlet)];
    			_root["testo"+i].testo.autosize="left" 		}
    	} else {
    		_root["testo"+j].testo.text = scrit[j];
    		_root["testo"+i].testo.autosize="left" 
    		j++;
    		timer = getTimer();
    		intervallo = 50;
    	}
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    28
    Allora, dimmi per favore se ho capito quel che fa lo script fino a questo momento (per inciso... lo script che hai modificato ho provato a cambiarlo con quello già esistente ma mi da come risultato una sfilza di MMMMMMMM già di partenza senza animazione...boh!)

    _root.attachMovie ("mc_testo", "testo"+i, 10+i);
    prende un mc già presente in libreria e lo copia sulla scena
    _root.attachMovie("mc_testo ", "testo"+i, 10+i);
    il mc che sta in libreria si chiama appunto "testo"
    _root.attachMovie("mc_testo", "testo"+i , 10+i);
    si concatena un numero alla fine della stringa testo uguale al numero di ciclo del for
    _root.attachMovie("mc_testo", "testo"+i, 10+i );
    il mc viene posto nel livello 10+i
    _root["testo"+i].testo=lett[random(numlet)];
    nel campo di testo del mc "testo"+i viene scritto un carattere preso a caso dal record lett. ne deduco che ci saranno tanti mc creati quante sono le lettere che compongono la frase. sbaglio?
    posx += _root["testo"+i]._width;
    quel += non mi è chiaro, cmq assegna la larghezza del campo di testo dinamico a posx. perché?

    ps: il resto delle righe lo devo capire ancora...
    flasher da strapazzo

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    28
    up!
    ci riprovo...

    flasher da strapazzo

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    28
    dimenticavo... cosa più importante di tutte: come faccio ad impostare un testo su più righe in modo da potergli dire quando deve andare a capo?
    Avete qualche idea di come poter modificare questo script?
    Thx in anticipo!
    flasher da strapazzo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.