Director: scroll del testo sincronizzato con l’audio

Di: tony78xx | 26/09/2020 17:34:44
Salve, avrei una piccola cosa da risolvere... nel mio movie devo fare in modo ke durante la riproduzione di un brano , automaticamente mi si visualizzi e mi scorra il testo dello stesso.
Ora io faccio suonare il brano con il comando
sound(1).play(member("nomeElementoDelCast"))
Questo quando si clicca sul titolo del brano quindi inserendo il codice all'interno dell handler on mouseDown dello sprite del titolo.
Poi in un altro sprite c'è il testo del brano e io devo farlo scorrere di tot linee ad intervalli predefiniti di tempo, quindi ogni tot secondi (i brani sono brevi)
quindi avevo pensato di ricavarmi i secondi effettivi durante la riproduzione del brano in questo modo:
miotempo=integer(sound(1).currentTime/1000)
e poi confrontare il valore ricavato cn quello giusto per far scorrere il testo, quindi facendo :
if miotempo = 10 then
member("testo1").scrollbyLine(3)
end if
e avevo provato a mettere il tutto all'interno di un ciclo repeat....ma nn mi vuole proprio andare
Il tutto ovviamente si trova sempre all'interno dell on mouseDown dello sprite ke contiene il titolo del brano relativo....
Spero di nn avervi posto la cosa in modo troppo caotico e spero qlcuno mi dia uno spunto per risolvere... Faccio notare che utilizzo la versione 8 di Director..
Grazie, e a presto spero

Risposte



Ciao, ad occhio potrebbe essere un problema di tipo di variabile utilizzata.
Prova ad usare una bella variabile globale ed un Movie Script.

Di: Pablito | 26/09/2020 17:35:44


Ciao Pablito, innanzitutto grazie per la risposta..
Mi suggerisci di usare una variabile globael da inserire in un movie script, ma a me serve ke al momento in cui l'utente clicca sul titolo della canzone (parte il brano)e dopo qlke secondo il testo scorra , quindi come potrei utilizzare il movie script? Ci potrei al massimo inserire qlke handler personalizzato da rikiamare poi al momento opportuno , ma cosa cambierebbe ??
Cmq .. prendendo spunto da un altro post di questo forum ho modificato il codice in questo modo ....
on mouseDown me
mioTempo= the ticks (qui memorizzo il tempo corrente)
howLong= the ticks+600 (qui invece il tempo corrente + 10secondi (dato che un tick =1/60 di sec.)
repeat while mioTempo<howLong
mioTempo=the ticks
end repeat
if mioTempo>=howLong then
member("testo1").scrollbyLine(3)
end if
end
Facendo così però il filmato mi si impalla per un pò (mentre esegue il ciclo repeat credo), compreso il brano ke sta suonando ..poi riprende e il testo scorre...
Come posso evitarlo ?

Di: tony78xx | 26/09/2020 17:35:44