+ Rispondi alla Discussione
Risultati da 1 a 7 di 7

[Risolto] Doppio click con action script

Ultimo Messaggio di twixt3r il:
  1. #1
    User
    Data Registrazione
    May 2007
    Messaggi
    14

    Doppio click con action script

    Sto cercando di fare uno script x gestire un doppio click.
    la logica è questa:
    alla prima cliccata si avvia un timer, se dopo 200ms non viene effettuato l altro click, tutto si resetta e parte dall inizio, altrimenti, "doppio click avvenuto"...
    ma non va ... più precisamente lo script non effettua l intervallo "torna"....
    here u are the script..

    onClipEvent(load)
    {clic=0;}
    on(release)
    { if(clic == 1)
    {trace("doppio click avvenuto");
    }
    if (clic==0)
    { clic=1;


    torna = setInterval(torno,200);
    function torno()
    {clic=0;
    clearInterval(torna);
    trace("entro");}}}


    help meeeeeeeeeeeee

  2. #2
    User Attivo L'avatar di Flep
    Data Registrazione
    Feb 2006
    Località
    Undisclosed city of South America
    Messaggi
    5,747
    Ciao

    Non scrivere codice sui bottoni

    Questo è lo script che ti ho scritto:
    Codice:
    var click:Boolean=false;
    var timer:Number=0;
    var timer2:Number=0;
    mio_mc.onPress=function() 
    {
     if(!click) 
     {
      timer=getTimer()/1000;
      click=true;
     }
     else
     {
      timer2=getTimer()/1000;
      this.test2=timer2-timer;
      if((timer2-timer)<.25)
       trace('doppio click'); 
      else
      {
       timer=getTimer()/1000;
       click=true;
      }
     }
    };

  3. #3
    User
    Data Registrazione
    May 2007
    Messaggi
    14
    getTimer????
    ma c è nell 8??

    e cmq vorrei capire xke non entrava in quell intervallo...x capire...

  4. #4
    User Attivo L'avatar di Flep
    Data Registrazione
    Feb 2006
    Località
    Undisclosed city of South America
    Messaggi
    5,747
    getTimer c'è nella versione 8 .

    Il perchè il tuo codice non funziona ?

    Perchè la variabile clic è una variabile locale, per cui vale solo all' interno dell' evento, poi viene rimossa dalla memoria.

    Dovresti crearla sulla root e richiamarla _root.clic

    Ecco perchè ti sconsiglio di scrivere codice sulle MovieClip, scrivi sulla timeline...risulta anche molto più semplice per gli apprendisti

  5. #5
    User
    Data Registrazione
    May 2007
    Messaggi
    14
    allora questo dovrebbe andare bene se lo metto nel root?

    _root.mc.onLoad = function()
    {clic=0;}
    _root.mc.onRelease= function()
    { if(clic == 1)
    {trace("doppio click avvenuto");
    }
    if (clic==0)
    { clic=1;
    torna = setInterval(torno,200);
    function torno()
    {clic=0;
    clearInterval(torna);
    trace("entro");}}}

  6. #6
    User Attivo L'avatar di Flep
    Data Registrazione
    Feb 2006
    Località
    Undisclosed city of South America
    Messaggi
    5,747
    no non mi hai capito.

    La variabile clic la devi dichiarare nella root.
    Nel primo keyframe della root scrivi:
    var clic:Number=0;

    poi per richiamarla:
    onClipEvent(load)
    {_root.clic=0;}

    e comunque se hai più di un keyframe, anche se la scrivi nel primo keyframe la variabile rimarrebbe locale in quanto al successivo keyframe Flash la cancella e ne libera memoria.

  7. #7
    User
    Data Registrazione
    May 2007
    Messaggi
    14
    volendo il tuo codice si può un pò semplificare così:

    var timer:Number=0;
    var timer2:Number=0;
    mio_mc.onPress=function()
    {timer2=getTimer()/1000;
    this.test2=timer2-timer;
    if((timer2-timer)<.25)
    trace('doppio click');
    else
    { timer=getTimer()/1000;
    click=true;
    }
    }


    Cmq ok grazie 1000 risolto...

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.