Salve ragazzi
è possibile avere una transizione di colore su una frase?
Avrei pensato a questo: convertire la parola in un movie clip ed agire con la classe Color. Che ne dite?
Grazie
Salve ragazzi
è possibile avere una transizione di colore su una frase?
Avrei pensato a questo: convertire la parola in un movie clip ed agire con la classe Color. Che ne dite?
Grazie
"Studiare è questo.
Improvvisamente si comprende qualcosa
che si era capita da tutta la vita,
ma da un nuovo punto di vista".
mi rendo la vita ancora più difficile...
Carico una frase da un file di testo e inserisco questa frase in una casella di testo dinamico.
Dovrei estrarre da questa frase una parola chiave e applicare su questa parola una transizione di colore.
E' possibile farlo???
Grazie
"Studiare è questo.
Improvvisamente si comprende qualcosa
che si era capita da tutta la vita,
ma da un nuovo punto di vista".
potresti fare uno schema di quello che ti serve?
ho difficoltà a comprendere la dinamica del tutto
per quanto riguarda il primo quesito, puoi utilizzare la classe Tween per fare un passaggio graduale da un valore esadecimale ad un altro, ad esempio
var inizio = 0x000000;
var fine = 0xFF0000;
var t = new mx.transitions.Tween(this, "inizio", mx.transitions.easing.None.easeNone, inizio, fine, 1, true);
t.onMotionChanged = function(){
campoTesto.textColor = inizio;
}
Certo. Ho creato un file XML con delle frasi. Nel mio SWF carico e parserizzo l'oggetto XML e piazzo ciascuna frase in un array.Originariamente inviato da and80
potresti fare uno schema di quello che ti serve?
ho difficoltà a comprendere la dinamica del tutto
Nel mio filmato ho un campo di testo dinamico in cui carico (a rotazione) ognuna di queste frasi.
Ciascuna frase ha una parola che deve essere evidenziata con colore diverso. Per esempio carico la prima stringa nel mio campo di testo.
Il colore di tutte le parole è bianco e quello della parola chiave va in transizione verso il
blu.
Il mio problema è lavorare su una singola parola della stringa che carico nel campo di testo....
spero di essere stato chiaro![]()
"Studiare è questo.
Improvvisamente si comprende qualcosa
che si era capita da tutta la vita,
ma da un nuovo punto di vista".
lo sei stato... ma sinceramente non mi viene in mente in questo momento una possibile soluzione... salvo il fatto di utilizzare un TextFormat a cui applicare la Tween nella proprietà color
il problema a questo punto rimane solo quello di individuare con esattezza la posizione della frase... il che si potrebbe dedurre utilizzando indexOf, ma sarebbe da provare
codice:var inizio = 0xFFFFFF; var fine = 0x0000FF; var frase = "Questa è una prova, per verificare se una transizione può essere applicata alla parola pippo presente in questa frase"; var parola = "pippo"; var formato = new TextFormat(); formato.color = inizio var beginFormat = frase.indexOf(parola); var endFormat = parola.length; campoTesto.text = frase; campoTesto.setTextFormat(beginFormat, endFormat, formato); var t = new mx.transitions.Tween(formato, "color", mx.transitions.easing.None.easeNone, inizio, fine, 1, true); t.onMotionChanged = function(){ campoTesto.setTextFormat(beginFormat, endFormat, formato); }
mmh... provato senza successo... modificato con successo, anche se l'effetto imho lascia parecchio a desiderareOriginariamente inviato da and80
lo sei stato... ma sinceramente non mi viene in mente in questo momento una possibile soluzione... salvo il fatto di utilizzare un TextFormat a cui applicare la Tween nella proprietà color
il problema a questo punto rimane solo quello di individuare con esattezza la posizione della frase... il che si potrebbe dedurre utilizzando indexOf, ma sarebbe da provare
codice:var inizio = 0xFFFFFF; var fine = 0x0000FF; var frase = "Questa è una prova, per verificare se una transizione può essere applicata alla parola pippo presente in questa frase"; var parola = "pippo"; var formato = new TextFormat(); formato.color = inizio; var beginIndex = frase.indexOf(parola); trace(beginIndex); var endIndex = beginIndex+parola.length; campoTesto.text = frase; campoTesto.setTextFormat(beginIndex, endIndex, formato); var t = new mx.transitions.Tween(formato, "color", mx.transitions.easing.None.easeNone, inizio, fine, 1, true); t.onMotionChanged = function() { campoTesto.setTextFormat(beginIndex, endIndex, formato); };
Può essere un punto di partenza... grazieOriginariamente inviato da and80
mmh... provato senza successo... modificato con successo, anche se l'effetto imho lascia parecchio a desiderare
"Studiare è questo.
Improvvisamente si comprende qualcosa
che si era capita da tutta la vita,
ma da un nuovo punto di vista".
per ottenere un effetto più decente dovresti lavorare sui canali RGB separatamente... stavo improntando qualcosa ma non ho fatto in tempo a finirlo
scritto velocemente e senza possibilità di provarlo:
codice:var inizio = [255, 255, 255]; var fine = [0, 0, 255]; var colore = "0x"+inizio[0].toString(16)+inizio[1].toString(16)+inizio[2].toString(16); var frase = "Questa è una prova, per verificare se una transizione può essere applicata alla parola pippo presente in questa frase"; var parola = "pippo"; var formato = new TextFormat(); formato.color = colore; var beginIndex = frase.indexOf(parola); var endIndex = beginIndex+parola.length; campoTesto.text = frase; campoTesto.setTextFormat(beginIndex, endIndex, formato); for(var i = 0; i< inizio.length; i++){ this["t"+i] = new mx.transitions.Tween(this, inizio[i], mx.transitions.easing.None.easeNone, inizio[i], fine[i], 1, true); t0.onMotionChanged = function() { var colore = "0x"+inizio[0].toString(16)+inizio[1].toString(16)+inizio[2].toString(16); formato.color = colore; campoTesto.setTextFormat(beginIndex, endIndex, formato); }; }