Problemone fade out in musica
quanto carico una musica col seguente script dovrei avere all'On e Off del bottone della musica un effetto di "dissolvenza" audio, che non riesco ad implementare:
in particolare lo script della musica è questo:
onClipEvent (load) {
//punto di inizio (arresto del trascinamento allo 0), della linea scorrimento (in _x pixel su stage).
minimo = 1;
// lunghezza massima della linea scorrimento (in pixel).
massimo = 100;
percent = Math.floor((_x-minimo)/(massimo-minimo)*100);
//Creazione dell'attachSound tramite l'oggetto Sound e linkaggio con identificatore "suono".
Brano = new Sound();
Brano.loadSound("clip.mp3", false); // Caricamento in streaming
// Volume stabilito alla partenza del filmato.
volume = 0;
// Partenza del brano dopo il riempimento del buffer (riproduzione = 1 sola volta).
Brano.stop(0, 1000);
Brano.onSoundComplete = function () {
_root.tutto.puls.gotoAndPlay (2); // Ripristino del pulsante in posizione PLAY.
}
}
// Definizione del trascinameto cursore volume.
onClipEvent (mouseMove) {
if (trascinamento == 1) {
_x = _root._xmouse+numeroVisibile;
}
if (_x>massimo) {
_x = massimo;
}
if (_x<minimo) {
_x = minimo;
}
// Numeri crescenti allo spostamento del cursore [(visibili nel campo dinamico (nome_var quanto)].
quanto = Math.floor((_x-minimo)/(massimo-minimo)*100);
// Calcola dinamicamente il numero visibile alla percentuale effettiva del volume, in ogni momento o spostamento.
Brano.setVolume(quanto);
updateAfterEvent(); // ricalcola il numero in base al nuovo spostamento.
}
poi su una clip separata ci sono 2 fotogrammi con 2 stati del bottone ON e OFF:
//1 fotogramma
on (press) {
_root.tutto.controller.Brano.start(0, 1000);
_root.fade=true;//segnala allo script che faccia il fade in
}
on (release) {
this.gotoAndStop (2);
}
//2 fotogramma
on (press){
_root.tutto.controller.Brano.stop();
_root.fade=false;//segnala allo script che faccia il fade out
}
on (release) {
this.gotoAndStop (1);
}
pensavo grazie alle variabili _root.fade di impostare nel primo script in alto in questa pagina, dopo il onClipEvent (mouseMove) (che trova il valore della barra di spostamento volume) il seguente codice, che riesce ad incrementare in qualche modi il volume ma non funziona bene:
onClipEvent(enterFrame){
//QUANDO HO PREMUTO SU ON ALLORA
if (_root.fade == true){
//VOLUME DEVE ARRIVARE FINO A 100
if (quanto < 100){
//AUMENTA IL VOLUME A CICLO E LO IMPOSTA
quanto = quanto+2;
Brano.setVolume(quanto);
}
//VEDO CHE VALORE HA IL VOLUME
trace (quanto);
//ALTRIMENTI SE PREMO SU OFF DIMINUISCE IL VOLUME FINO A 0
}else if (_root.fade == false){
if(quanto>0){
quanto = quanto-5;
Brano.setVolume(quanto);
}
}
}
1-quando la musica parte è spenta, premo il bottone ON _root.fade = true e quindi il volume dovrebbe partire da 0 fino al valore 50 (il valore del volume è dentro la variabile quanto)
2-viceversa quanto la musica è accesa e premo il bottone OFF quindi _root.fade = false, il volume dovrebbe dal valore di "quanto" (che è 50 ma tramite una barra di scorrimento può variare) arrivare poi a 0.
3-c'è il problema che se innavertitamente metto il mouse sopra la barra di trascinamento volume, lo script troava già il valore del volume ( variabile quanto)
qualsiasi suggerimento è ben accetto e gradito!!!

Rispondi quotando