praticamente è quello che faccio...Originariamente inviato da Broly
Beh ma se vuoi ricrearlo basta anche come hai fatto tu un altro brano = new Sound() , che sovrascriverà in automatico quello precedente![]()
LINK PROVA
Alla pressione dei pulsanti 2,3,4 siverificano questi eventi:
- annullo (con clearInterval ) la funzione relativa al loading.
- annullo la funzione relativa al puntatore di posizione del brano
- e richiamo questa funzione per ricreare il nuovo brano:
ma come puoi notare dal link si "ingrippa" (codice:function Loop(){ cf_barra._alpha = 0; brano = new Sound(); brano.loadSound(nome_brano, true); brano.setVolume(i); loading = setInterval(PreLoad, 50); clearInterval(this); }) l'swf. A tal proposito ho pensato di eliminare l'oggetto Sound alla pressione dei pls, e di ricrearlo al rilascio dei pls....
ma nulla da fare![]()
te riesci ad intuire l'errore tramite il link che ho postato?
cmq questo è tutto il codice in as:codice:i = 50; cf_mask._xscale = Math.round((85*i)/85); nome_brano = "loop1.mp3"; brano = new Sound(); brano.loadSound(nome_brano, true); brano.setVolume(i); cf_puntatore._alpha = 0; cf_barra._alpha = 0; larghezza = 100; loading = setInterval(PreLoad, 50); cf_pls1.gotoAndStop ("attivo"); cf_pls_play.gotoAndStop("attivo"); function Puntatore(){ cf_puntatore._alpha = 100; time_par = brano.position; time_tot = brano.duration; perc = Math.round((time_par*100)/time_tot); setProperty ("cf_puntatore", _xscale, (perc*larghezza)/100); setProperty ("cf_puntatore", _x, -76.5); if (time_par == time_tot) { brano = new Sound(); brano.loadSound(nome_brano, true); brano.setVolume(i); } } function Loop(){ cf_barra._alpha = 0; brano = new Sound(); brano.loadSound(nome_brano, true); brano.setVolume(i); loading = setInterval(PreLoad, 50); clearInterval(leggi_loop); } function PreLoad(){ car = brano.getBytesLoaded(); tot = brano.getBytesTotal(); perc = Math.round((car*100)/tot); setProperty ("cf_barra", _xscale, (perc*larghezza)/100); setProperty ("cf_barra", _x, -76.5); if (car>1024) { setProperty ("cf_barra", _alpha, 100); tempo_brano = setInterval(Puntatore, 50); if (car == tot ) { clearInterval(loading); } } } // pls1: cf_pls1.onRollOver = function(){ this.play(); } cf_pls1.onRollOut = function(){ this.gotoAndStop("1"); } cf_pls1.onPress = function() { if(_root.piatto.braccio._currentframe == stoppa){ _root.piatto.braccio.gotoAndPlay(1); }else{ _root.piatto.braccio.gotoAndPlay("nuovo"); } cf_pls_play.gotoAndStop("attivo"); cf_pls_stop.gotoAndStop(1); cf_pls3.gotoAndStop(1); cf_pls2.gotoAndStop(1); cf_pls4.gotoAndStop(1); clearInterval(loading); brano.stop(); } cf_pls1.onRelease = function(){ nome_brano = "loop1.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } cf_pls1.onReleaseOutside = function(){ nome_brano = "loop1.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } // pls2: cf_pls2.onRollOver = function(){ this.play(); } cf_pls2.onRollOut = function(){ this.gotoAndStop("1"); } cf_pls2.onPress = function() { if(_root.piatto.braccio._currentframe == stoppa){ _root.piatto.braccio.gotoAndPlay(1); }else{ _root.piatto.braccio.gotoAndPlay("nuovo"); } cf_pls_play.gotoAndStop("attivo"); cf_pls_stop.gotoAndStop(1); cf_pls1.gotoAndStop(1); cf_pls3.gotoAndStop(1); cf_pls4.gotoAndStop(1); clearInterval(loading); brano.stop(); } cf_pls2.onRelease = function(){ nome_brano = "loop2.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } cf_pls2.onReleaseOutside = function(){ nome_brano = "loop2.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } //pls3: cf_pls3.onRollOver = function(){ this.play(); } cf_pls3.onRollOut = function(){ this.gotoAndStop("1"); } cf_pls3.onPress = function() { if(_root.piatto.braccio._currentframe == stoppa){ _root.piatto.braccio.gotoAndPlay(1); }else{ _root.piatto.braccio.gotoAndPlay("nuovo"); } cf_pls_play.gotoAndStop("attivo"); cf_pls_stop.gotoAndStop(1); cf_pls1.gotoAndStop(1); cf_pls2.gotoAndStop(1); cf_pls4.gotoAndStop(1); clearInterval(loading); brano.stop(); } cf_pls3.onRelease = function(){ nome_brano = "loop3.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } cf_pls3.onReleaseOutside = function(){ nome_brano = "loop3.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } //pls3: cf_pls4.onRollOver = function(){ this.play(); } cf_pls4.onRollOut = function(){ this.gotoAndStop("1"); } cf_pls4.onPress = function() { if(_root.piatto.braccio._currentframe == stoppa){ _root.piatto.braccio.gotoAndPlay(1); }else{ _root.piatto.braccio.gotoAndPlay("nuovo"); } cf_pls_play.gotoAndStop("attivo"); cf_pls_stop.gotoAndStop(1); cf_pls1.gotoAndStop(1); cf_pls2.gotoAndStop(1); cf_pls3.gotoAndStop(1); clearInterval(loading); brano.stop(); } cf_pls4.onRelease = function(){ nome_brano = "loop4.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } cf_pls4.onReleaseOutside = function(){ nome_brano = "loop4.mp3"; leggi_loop = setInterval(Loop, 100); this.gotoAndStop("attivo"); } //pls stop: cf_pls_stop.onRollOver = function(){ this.play(); } cf_pls_stop.onRollOut = function (){ this.gotoAndStop(1); } cf_pls_stop.onPress = function (){ brano.stop(); clearInterval(loading); cf_pls_play.gotoAndStop(1); } cf_pls_stop.onRelease = function(){ this.gotoAndStop("attivo"); } cf_pls_stop.onReleaseOutside = function(){ this.gotoAndStop("attivo"); } //pls play: cf_pls_play.onRollOver = function (){ this.play(); } cf_pls_play.onRollOut = function (){ this.gotoAndStop(1); } cf_pls_play.onPress = function (){ brano.start(); loading = setInterval(PreLoad, 50); cf_pls_stop.gotoAndStop(1); } cf_pls_play.onRelease = function(){ this.gotoAndStop("attivo"); } cf_pls_play.onReleaseOutside = function(){ this.gotoAndStop("attivo"); }

) l'swf. A tal proposito ho pensato di eliminare l'oggetto Sound alla pressione dei pls, e di ricrearlo al rilascio dei pls....
Rispondi quotando