Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Gestire un loop sonoro esterno

    ho inserito un loop musicale (loop.swf) esterno in un'altro filmato (video.swf)

    loadMovieNum("loop.swf",1);

    Come posso gestire play e stop in video.swf?

    :master:

    Grazie

  2. #2
    Vediamo un po...
    1) importo il loop nella libreria
    2) imposto il nome di linkage (concatenamento):
    > click destro sul simbolo in libreria
    > seleziono "linkage" (concatenamento)
    > nelle pannello che compare imposto:
    ° identifier = il nome con cui viene collegato, p. es. myloop
    ° seleziono la checkbox "Export for ActionScript"
    ° premo il pulsante OK
    3) sul 1° frame della timeline scrivo il seguente codice:
    codice:
    // eseguo l'attachsound
    basemusicale = new Sound(_root);
    basemusicale.attachSound("myloop");	// "myloop" è il nome indicato al punto 2
    //
    function suona () {
    	basemusicale.start(0, 999);
    	musik_on = true;
    }
    //
    function spegni () {
    	basemusicale.stop();
    	musik_on = false;
    }
    per il movie contenente il suono è tutto qui.
    4) per caricare il filmato contenente il loop musicale scriverò:
    codice:
    loadMovieNum ("loop.swf", 1);
    (come del resto già fai)

    5) vediamo ora come richiamarlo dal main o da qualsiasi altro punto (tipicamente con un pulsante):
    codice:
    on (release) {
    	if (_level1.musik_on) {
    		_level1.spegni();
    	} else {
    		_level1.suona();
    	}
    }

    Tutto chiaro?

  3. #3
    spero di sì...provo poi ti faccio sapere, grazie 1000!

  4. #4
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Paolo... sei un tutorial vivente !!!

    NAPtiammira
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  5. #5
    Originariamente inviato da NAP
    Paolo... sei un tutorial vivente !!!
    NAPtiammira
    La stima è reciproca caro NAP.

  6. #6
    Grazie funziona benissimo, ma se volessi applicare un effetto di attenuazione in uscita e in entrata del loop ?

    Si riesce? Cioè che quando clicco su stop si abbassa piano e lo stesso x quando clicco su play?

    Grazie

  7. #7
    A richiesta, "commento" ulteriormente gli script già postati, per una maggior comprensione.

    Codice inserito sul 1° frame della timeline del movie esterno che contiene unicamente il loop mosicale.
    Siccome questo filmato verrà caricato su un livello superiore, ogni riferimento ad esso avverrà tramite l'anteposizione di _level1.
    codice:
    // eseguo l'attachsound
    basemusicale = new Sound(_root);
    basemusicale.attachSound("myloop");	// "myloop" è il nome indicato al punto 2
    //
    Funzione di "accensione" della musica
    function suona () {
    	basemusicale.start(0, 999);    // fa partire il loop
    	musik_on = true; // variabile che indica che la "musica è accesa"
    }
    //
    Funzione di "spegnimento" della musica
    function spegni () {
    	basemusicale.stop();    // ferma il loop
    
    	musik_on = false;  // variabile che indica che la "musica è spenta"
    
    }
    per il movie contenente il suono è tutto qui.

    Vediamo ora il codice associato al pulsante (ne basta uno per spegnere/accendere)
    codice:
    on (release) {
     // se la variabile (vedi sopra) mi indica che la musica è accesa
    	if (_level1.musik_on) {
            // allora la spengo  
    		_level1.spegni();
    	} else {
            // altrimenti la accendo  
    		_level1.suona();
    	}
    }

    Tutto chiaro?

  8. #8
    si perfetto solo una cosa, ma se io voglio che la musica mi parta in auto da subito e poi la spengo?

  9. #9
    Immagino che tu abbia fatto anche un preload.
    Bene, nel momento in cui il preload è finito, lanci l'istruzione:

    _level1.suona();

  10. #10
    Dici qui

    onClipEvent (load) {
    total = _root.getBytesTotal();
    }
    onClipEvent (enterFrame) {
    loaded = _root.getBytesLoaded();
    percent = int(loaded/total*100);
    text = percent+"%";
    gotoAndStop(percent);
    if (loaded == total) {
    _root.gotoAndPlay(2);
    }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.