• User

    audio sovrapposto

    Ciao, premesso che non sono espertissimo in flash, sto facendo un menù con delle immagini e al passaggio del mouse si avvia un suono diverso per ogni immagine, solo che se si passa contemporaneamente a più immagini i suoni si sovrappongono.Vorrei fare in modo che ciò non avvenga e il suono nuovo blocchi quello vecchio senza che si sovrappongano, è possibile? Come si fa? :arrabbiato:


  • Super User

    Ciao alessyo e benvenuto nel forum GT 🙂

    Ti serve actionscript per poter fare ciò di cui necessiti.
    Un esempio:

    
    my_mc.onPress=function():Void
    {
        var my_sound:Sound=new Sound();
        my_sound.attachSound('soundz.mp3');
        my_sound.start();
    }
    
    

    Questo codice ti permette di riprodurre un file audio che hai nella libreria.
    Per il problema che hai bisognerebbe vedere le logiche actionscript che hai applicato, vedendo il codice riesco a darti una mano 🙂
    Guarda come funziona e provalo.


  • User

    @Flep said:

    Ciao alessyo e benvenuto nel forum GT 🙂

    Ti serve actionscript per poter fare ciò di cui necessiti.
    Un esempio:

    >
    my_mc.onPress=function():Void
    {
        var my_sound:Sound=new Sound();
        my_sound.attachSound('soundz.mp3');
        my_sound.start();
    }
    
    >``` 
    Questo codice ti permette di riprodurre un file audio che hai nella libreria.
    Per il problema che hai bisognerebbe vedere le logiche actionscript che hai applicato, vedendo il codice riesco a darti una mano :)
    Guarda come funziona e provalo.
    
    In realtà non c'è un codice, ho creato i vari pulsanti direttamente con flash trasformando le immagini in bottoni, quel codice dove lo dovrei incollare?

  • Super User

    Se hai tanti bottoni dovresti tenere lavariabile sound come globale e non locale.
    Sul primo frame scrivi:

    
    var my_sound:Sound;
    
    

    Poi per ogni bottone scrivi sempre sulla timeline (primo frame):

    
    nomebottone.onRollOver=function():Void
    {
        my_sound=new Sound();
        my_sound.attachSound('soundz.mp3');
        my_sound.start();
    }
    
    

  • User

    @Flep said:

    Se hai tanti bottoni dovresti tenere lavariabile sound come globale e non locale.
    Sul primo frame scrivi:

    >
    var my_sound:Sound;
    
    >``` 
    Poi per ogni bottone scrivi sempre sulla timeline (primo frame):
    

    nomebottone.onRollOver=function():Void
    {
    my_sound=new Sound();
    my_sound.attachSound('soundz.mp3');
    my_sound.start();
    }

    Quindi trovandomi con la bitmap aperta, seleziono il primo frame, apro la sezione "azioni" e inserisco:

    var my_sound:Sound;

    poi il resto dove va messo?


  • Super User

    sempre sul primo frame


  • User

    @Flep said:

    sempre sul primo frame

    Allora procediamo passo per passo, apro un nuovo documento flash, importo l'immagine, la trasformo in bitmap, dopo apro il pannello azioni e incollo in codice che mi hai dato tu, poi seleziono le parti della bitmap e le trasformo in pulsanti. Per ogni pulsante clicco su "sopra" e inserisco un nuovo fotogramma chiave e ci trascino su il file audio dalla libreria. Provo il filmato ma i suoni continuano a sovrapporsi.... :bho:


  • Super User

    Non devi trascinare i files audio dalla libreria come stai facendo, devi riprodurre i suoni da codice in runtime con il codice che ti ho scritto.
    Quando hai trasformato le parti della bitmap in bottoni, dai un nome ad ogni bottone che hai sullo stage.

    Poi seleziona il primo frame , apri il pannello azioni e scrivi:

    
    var my_sound:Sound=new Sound();
    nomebottone.onRollOver=function():Void
    {
        my_sound.stop();
        my_sound.attachSound('soundz.mp3');
        my_sound.start();
    }
    
    
    

  • User

    @Flep said:

    Non devi trascinare i files audio dalla libreria come stai facendo, devi riprodurre i suoni da codice in runtime con il codice che ti ho scritto.
    Quando hai trasformato le parti della bitmap in bottoni, dai un nome ad ogni bottone che hai sullo stage.

    Poi seleziona il primo frame , apri il pannello azioni e scrivi:

    >
    var my_sound:Sound=new Sound();
    nomebottone.onRollOver=function():Void
    {
        my_sound.stop();
        my_sound.attachSound('soundz.mp3');
        my_sound.start();
    }
     
    
    >```
     
    Ho fatto come hai detto tu ma passando col mouse sopra il bottone non emette nessun suono.
    Ho trasformato l'immagine in bitmap, poi ho trasformato le parti della bitmap in bottoni, sono andato sul primo frame e nel pannello azioni ho incollato il codice, sostituendo "nomebottone" col nome dato al bottone e "soundz.mp3" con il file audio da associare, poi ho fatto prova filmato e passando col mouse sopra non si sente nulla.  :x

  • Super User

    Nella libreria hai il file mp3, clicca col destro e vai in proprietà.
    Attiva l'opzione 'export for actionscript' .


  • User

    @Flep said:

    Nella libreria hai il file mp3, clicca col destro e vai in proprietà.
    Attiva l'opzione 'export for actionscript' .

    Niente, l'ho fatto ma non si sente nulla. Ma non è che si devono esportare for actionscript anche i pulsanti?


  • Super User

    Quanti frames hai nella timeline ?


  • User

    @Flep said:

    Quanti frames hai nella timeline ?

    1 solo.


  • Super User

    Toglie il .mp3 dopo il nome identificatore del soundz.;)

    
    var my_sound:Sound=new Sound();
    nomebottone.onRollOver=function():Void
    {
        my_sound.stop();
        my_sound.attachSound("soundz");
        my_sound.start();
    }
    
    

    x Flep :bacio:


  • User

    @Onsitus said:

    Toglie il .mp3 dopo il nome identificatore del soundz.;)

    >
    var my_sound:Sound=new Sound();
    nomebottone.onRollOver=function():Void
    {
        my_sound.stop();
        my_sound.attachSound("soundz");
        my_sound.start();
    }
    
    >```
     
    x Flep :bacio:
     
    Non va :bho: 
    Ho sostituito al posto di "soundz" il nome del file mp3 senza l'estensione.

  • Super User

    Usera FlashMX o pubblica per AS 1.0?:bho:
    In quel caso deve pure togliere :Sound e :Void

    Il codice funziona per AS 2.0.

    Cmq, puo scaricare un zip come esempio per AS1.0 e per AS2.0.


  • Super User

    @Onsitus said:

    Toglie il .mp3 dopo il nome identificatore del soundz.;)

    >
    var my_sound:Sound=new Sound();
    nomebottone.onRollOver=function():Void
    {
        my_sound.stop();
        my_sound.attachSound("soundz");
        my_sound.start();
    }
    
    >```  
    x Flep :bacio:
    
    Anche se lasci .mp3 è la stessa cosa, non cambia niente :)

  • Super User

    @Flep said:

    Anche se lasci .mp3 è la stessa cosa, non cambia niente 🙂

    Vero.;)

    Quando importa il suono nella libreria e 'check' l'opzione 'esporta per as', flash automaticamente da il nome d'identificatore partendo del nome del file pero non include l'estensione .mp3.
    Poteva pure essere il suo caso se non aveva rinominato l'identificatore manualemente. In quel caso richiamava 'soundz.mp3' quando in libreria aveva 'soundz'. Che si sa quello che si puo combinare. :bho:


  • User

    Io uso Flash 8. AS2.0 sarebbe action script?
    Grazie per quei file di esempio, ora vedo se riesco a scopiazzare il codice e riadattarlo 😄


  • User

    C'è l'ho fatta! 😉 Grazie per l'aiuto!

    Vi volevo chiedere un ultima cosa, la bitmap o si sgrana troppo o diventa troppo pesante....a quanto mi consigliate di mettere di soglia colori?