Flash: problema con l’audio

Di: Niconero81 | 26/09/2020 18:16:20
Salve ragazzi ho questo problema. Avevo la necesità di creare un pulsante-interruttore, play e stop audio. Ho creato un MC con 2 fotogrammi.Nel primo importavo il loop musicale, e su un altro livello sempre al 1 fotogramma ho messo un bottone stop, che quando lo premi mi porta al fotogramma 2 dove c'è l'azione stop all soud. Arrivati al 2 fotogramma ho creato il pulsante play, e ho assegnato l'azione (gotoand play ,1) ovvero mi porta al 1 fotogramma dove faccio ripartire l'audio. Questo MC l'ho inserito sulla scena principale, e fin qui tutto bene, ma se premo stop, quindi fermo l'audio, poi vado in una nuova scena e ritorno nella scena dove c'è il Mc l'audio riparte automaticamente. Come devo fare?

Risposte



devi usare le variabili.
quando premi stop, al pulsante devi inserire una variabile con un valore da te indicato.
ad esempio:
on(release){
stopAllSounds();
_root.tuaVariabile="1"
/*con 1 l'audio viene tolto,con 0 rimesso.
i valori sono ovviamente casuali*/
}

a questo punto. sul primo fotogramma del tuo mc, basterà che tu gli faccia capire in che condizioni stavi prima
es:
if(_root.tuaVariabile=="1"){
stopAllSounds();
gotoAndStop(2)}

ricordati quando rimetti l'audio di cambiare il valore della variabile!

Di: maurymathras | 26/09/2020 18:16:20


Scusami, io ho dovuto fare una modifica al filmato, siccome era un po pesante l'ho dovuto spezzettare in tati file swf, che vado a richiamare con azione load movie. In questo caso il procedimento cambia, com edevo gestire l'audio?
ps. Siccome sto alle prime armi mi puoi spiegare meglio l'uso delle variabili ovvero dove impostarle ecc...
Un enorme grazie anticipato.

Di: Niconero81 | 26/09/2020 18:16:20


una variabile t serve per far capire a flash una determinata condizione,e agire di conseguenza.
una variabile puo avere qualsiasi nome e un qualsiasi valore, e sei tu a decidere come farle funzionare.
in genere vengono utilizzate con if, per esprimere una condizione, appunto
per prima cosa, devi introdurre la tua variabile, inserendo un valore.ad esempio:
_root.variabile="blu"
la _root. serve per passare la variabile da una scena all'altra. il valore da me assegnato alla variabile è "blu", il che per ora nn significa assolutamente niente.
servirà a me in seguito per definire determinate condizioni.
tale codice puoi inserirlo dove ti pare, in un fotogramma o in un mc.
quando vuoi utilizzarla, t basterà seguire questo ragionamento:
if(_root.variabile=="blu"){condizione}else{altra condizione}.
dove per condizione puoi metterci un'azione quualsiasi.
l'else puoi anche evitarlo, serve nel caso dovessi inserire una azione nel caso la condizione nn sia verificata
questa azione la puoi inserire dove t pare; in genere però avrai la necessità di controllare continuamente una determinata condizione (ad esempio tu vuoi sapere in qualsiasi momento se l'audio cè o non c'è).quindi potresti inserirla o in un fotogramma seguito da un secondo che torni al precedente (fotogramma 1:la pappardella di cui sopra;fotogramma2:gotoAndPlay(1) ), oppure inserirlo in un mc in scena, con evento enterFrame (on ClipEvent(enterFrame)).
nel tuo caso, avendo l'audio su un filmato esterno,t basterà sostituire lo stopAllSounds() con unloadMovie; eliminando il filamto dell'audio ovviamente verrà meno anche l'audio.
non so se sono stato esauriente...è un po vasto come argomento. se hai dei dubbi siamo sempre qui

Di: maurymathras | 26/09/2020 18:17:20


Scusa ti ringrazio x il chiarimento, ti vorrei chiedere solo un ultimo favore. Potresti essere + dettagliato o scrivere come devo fare nel mio caso. Ti ricordo che io ho creato un filmato esterno contenente audio. Sul filmato principale (la mia home) ho creato un Mc con 2 fotogrammi e all'interno ho messo 2 bottono palay e stop. Quando premo play ho dato azione load movie che mi carica il filmato contenente audio sul livello 1, e che mi porta al 2 fotogramma de Mc dove c'è stop. SE premo stop l'audio si ferma xchè ho dato azione come mi hai scritto unload movie, e mi porta al 1 fotogramma (Perchè ho creato l'effetto interruttore play-0ff). Dove vado ad inserire le variabili? Scusami se non son sono riuscito a capire ma sono un po confuso.
Ps. Quando cambio pagina ovvero richiamo un altro filmato esterno l'audio mi sparisce.

Di: Niconero81 | 26/09/2020 18:17:20


allora nel primo fotogramma della tua home inserisci queste righe:
_root.audio="on"
//la tua variabile,con nomi a tua scelta
_root.loadMovie("ilTuoAudio.swf",1)

all'interno del tuo mc, avrai due pulsanti,uno per ogni fotogramma.
il primo,che toglie l'audio,avrà queste azioni:
on(realease){
_root.unloadMovie();
gotoAndStop(2);
_root.audio="off"
}

mentre sul pulsante che rimette l'audio,nel secondo fotogramma:
on(realease){
loadMovie("ilTuoAudio.swf",1);
gotoAndStop(1);
_root.audio="on"
}

per evitare che quando cambi scena si riattivi l'audio,basta che metti nel primo fotogramma del tuo mc questo codice:
stop;
if(_root.audio=="off"){
gotoAndStop(2);
_root.unloadMovie()
/*l'ultima riga è cmq inutile,visto che il filmato era gia stato tolto dal pulsante}

Di: maurymathras | 26/09/2020 18:17:20