• User

    evento mouse over

    Salve a tutti,
    sono nuovo del mondo flash e sto cercando di capire come poter far attivare l'evento MOUSE OVER ad un pulsante.
    Vi spiego cosa dovrebbe fare il pulsante:

    Quando mi avvicino al pulsante compare un blocco colorato dal basso e quando mi allontano il blocco colorato deve sparire verso il basso...
    Potreste dirmi come gestire l'evento on mouse over???

    Grazie mille


  • Super User

    Ciao gfprogrammer, il pulsante è un simple button o un movieclip?


  • User

    allora... l'effetto l'ho fatto come movieclip mentre il pulsante è un simple button, o almeno credo sia cosi...
    gfprogrammer.it/menu/index.html
    trovi il file che ho creato. Come vedi quando ti avvici alla scritta HOME il bottone va bene, mentre quando ti allontani dovrebbe avere l'effetto che ha quando si clicca sul pulsante..
    Potresti darmi una mano su come fare? Grazie mille.


  • Super User

    Da come si comporta mi sembra che tu abbia messo il movieclip sul frame sopra del pulsante, va benissimo per la salita ma quando esci scompare di colpo.
    Prova a fare cosi:
    crea due movieclip indipendenti uno per la salita e uno per la discesa con interpolazione movimeto,nell'ultimo frame del clip scende metti questa azione"_root.gotoAndStop(1);" metti il pulsante nel livello 1, incollaci questo codice e metti un fotogramma chiave al terzo frame,

    
    on (rollOver) {
        gotoAndStop("sale");
    }
    on (rollOut) {
        gotoAndStop("scende");
    }
    
    ```crea un livello superiore, etichetta il fotogramma 2 con sale e il fotogramma tre con scende poi posizionaci i rispettivi clip.
    Oppure altro metodo:
    Fai una scritta Home, metti un fotogramma chiave al frame 10 e metti uno stop(), apri un altro livello trascinalo sotto  il primo e  fai l'interpolazione movimento del rettangolino che sale, fai un terzo livello, e trascinalo in mezzo ai primi due, ci serve per fare una maschera, quindi disegnaci un rettangolino che comprenda la scritta home poi tasto destro e trasformalo in maschera,  trasforma il tutto in uno clip filmato e metici dentro questo 
    

    onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse) == true) {
    if (_currentframe == _totalframes) {
    stop();
    } else {
    play();
    }
    } else {
    if (_currentframe !== 1) {
    prevFrame();
    }
    }
    }


  • User

    Grazie mille. Più tardi provo e vediamo se tutto va bene.
    Ti farò sapere.


  • Super User

    OK. se ti servono chiarimenti sono quà. Ciao.


  • User

    Ciao ho qualche problema... Diciamo che ci sono delle cose che non so fare, essendo neofita, capisci bene che quello che per un esperto è facile per me non lo è. Ti dico cosa non mi è chiaro:

    1 - "nell'ultimo frame del clip scende metti questa azione"_root.gotoAndStop(1);" Se io mi porto nell'ultimo frame del livello "movimento" che ho creato, dove ho messo il movimento di salita e di discesa, non mi permette di inserire codice actionscript.

    2 - crea un livello superiore, etichetta il fotogramma 2 con sale e il fotogramma tre con scende poi posizionaci i rispettivi clip. - Non ho capito come fare.... 😞

    Potremmo sentirci via skype in modo da poterlo fare insieme??? Scusami ma è davvero importante che io riesca a farlo


  • Super User

    Ciao ho messo un link per scaricare un fla d'esempio, lascia perdere _root.gotoAndstop, non c'è bisogno, nelle prove fatte ieri devo aver messo qualche stop di troppo e senza quella azione non ripartiva, studiati il fla e se qualcosa non è chiaro fammelo sapere.
    http://www.dago2008.altervista.org/


  • User

    Intanto grazie mille :)! Adesso provo a creare altri pulsanti seguendo il tuo consiglio. Grazie


  • User

    Solo una cosa.... Se adesso volessi aggiungere un link? A quale frame devo farlo?? Io ho provato invano a capire come funziona 😞


  • Super User

    OK, trasforma tutta l'animazione del pulsante in un movieclip in modo che occupi un solo frame dagli nome istanza ad esempio mio_Pulsante lo metti nel primo livello, poi apri un nuovo livello per le azioni e metti questo codice

     
    mio_Pulsante.onRelease = function(){
    getURL("http://www.nomesito.com",blank)
    }
    
    ```il codice poi sarà il medesimo per tutti gli altri pulsanti del menù, tranne ovviamente il nome istanza.
    P.S. naturalmente se il link è a una pagina interna "nomepagina.html"