Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Eventi in funzione del mouse

    Salve a tutti! Mio primo post. Mi presento: mi chiamo Luciano, ho 25 anni, sono di Bari e amo la musica e l'informatica, da poco mi sono avvicinato al mondo di Flash.

    Scrivo per chiedere aiuto su una cosa che mi sta facendo perdere un sacco di tempo, e di pazienza!

    Tenterò di spiegarmi al meglio.
    Ho creato un filmato flash. Ho creato una barra che sporge per metà all'interno dello stage. Mi serve che:

    - al passaggio del mouse, la barra arrivi alla fine dello stage e ci resti finchè il mouse vi è puntato sopra.

    - quando il mouse esce dalla barra, questa deve tornare indietro.

    Sono riuscito a farlo, ma il problema è che se tolgo il mouse dalla barra mentre questa è in movimento, torna all'inizio di colpo, e non gradualmente come vorrei; mi servirebbe una sorta di "rewind" a partire dal punto in cui si trova la barra.
    Premetto che ho cercato nel forum, ma non ho trovato nulla, anche perché non so bene quali keywords usare.
    Ho provato di tutto... for, while, prevFrame...
    Please help me!

    Grazie a tutti voi!

    Nino.
    Qui c'è un aeroplano che si è schiantato control le montagne! -Big Lebowski-

  2. #2
    Codice PHP:
    barra.stato=false  // setto lo stato della barra in false
    barra.barra._width   // registro la larghezza iniziale della barra

    // evento sopra 
    barra.onRollOver=function(){
             
    this.stato =! this.stato  // inversione booleana della variabile
            
    _MCaction()
    }
    // evento non sopra 
    barra.onRollOut=function(){
            
    this.stato =! this.stato   // inversione booleana della variabile
            
    _MCaction()
    }

    // funzione che fa aumentare la larghezza della barra o la fa diminuire con decelerazione 
    // in funzione del valore booleano della variabile stato

    function _MCaction(stato){

         
    barra.onEnterFrame=function(){
              if(
    this.stato){
                  
    oldW newW
                  newW 
    Stage.width this._width
                  this
    ._width+=newW/3
                  
    if(oldW == newW){
                               
    // la barra è lunga quanto lo stage
                                   
    delete this.onEnterFrame
                  
    }
              }
             if(!
    this.stato){
                  
    oldW newW
                  newW 
    this.this._width
                  this
    ._width+=newW/3
                  
    if(oldW == newW){
                               
    // la barra è tornata di lunghezza normale
                                   
    delete this.onEnterFrame
                  
    }
              }

    Ciao fai sapere se ti piace

  3. #3
    ops manca parentesi

    Codice PHP:
    barra.stato=false  // setto lo stato della barra in false 
    barra.barra._width   // registro la larghezza iniziale della barra 

    // evento sopra 
    barra.onRollOver=function(){ 
             
    this.stato =! this.stato  // inversione booleana della variabile 
            
    _MCaction() 

    // evento non sopra 
    barra.onRollOut=function(){ 
            
    this.stato =! this.stato   // inversione booleana della variabile 
            
    _MCaction() 


    // funzione che fa aumentare la larghezza della barra o la fa diminuire con decelerazione 
    // in funzione del valore booleano della variabile stato 

    function _MCaction(stato){ 

         
    barra.onEnterFrame=function(){ 
              if(
    this.stato){ 
                  
    oldW newW 
                  newW 
    Stage.width this._width 
                  this
    ._width+=newW/
                  
    if(oldW == newW){ 
                               
    // la barra è lunga quanto lo stage 
                                   
    delete this.onEnterFrame 
                  

              } 
             if(!
    this.stato){ 
                  
    oldW newW 
                  newW 
    this.this._width 
                  this
    ._width+=newW/
                  
    if(oldW == newW){ 
                               
    // la barra è tornata di lunghezza normale 
                                   
    delete this.onEnterFrame 
                  

              } 
         }


  4. #4
    Grazie mille amico! E' perfetto. Ho solo modificato lo script, in quanto preferisco che la barra non cambi dimensione ma solo posizione, quindi al posto di _width ho sostituito _x e ho apportato qualche piccolissima modifica allo script per adattarlo al mio filmato (ho aggiunto 200 ad un operazione). Va alla grande!
    Grazie mille!
    Se ho bisogno, disturberò ancora! :P

    Nino.
    Qui c'è un aeroplano che si è schiantato control le montagne! -Big Lebowski-

  5. #5

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.