Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477

    "bloccare" una funzione

    Ho un tasto che richiama una funzione. Ad ogni pressione la funzione viene eseguita.... ....fin qui niente di nuovo. Il problema è che se premo il tasto due volte velocemente mi va a richiamare la funzione quando questa è già in esecuzione. Vorrei quindi rendere la funzione "richiamabile" solo quando termina l'esecuzione precedente.
    Come posso fare?

  2. #2
    se usi MX puoi semplicemente disabilitare il pulsante quando ci clicchi su con this.enabled = false e poi riattivarlo quando finisce la funzione. Oppure usa una variabile in questo modo:

    codice:
    on(release){
        if(!funcActive){
            funcActive = true;
            chiamaTuaFunzione();
        }
    }
    poi quando termina la funzione annulla la variabile:
    codice:
    funcActive = undefined;
    o anche
    codice:
    delete funcActive;

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Grazie Yassassin, non conoscevo la funzione del "!" ora ho guardato sulla guida di flash e ho capito

  4. #4
    Quindi praticamente scrivere
    codice:
    if (!myVariable)
    equivale a scrivere
    codice:
    if (myVariable == false)
    oppure il ! cambia il valore della variabile?

  5. #5
    Originariamente inviato da Kaneda81
    Quindi praticamente scrivere
    codice:
    if (!myVariable)
    equivale a scrivere
    codice:
    if (myVariable == false)
    oppure il ! cambia il valore della variabile?
    Più o meno..ci sono delle piccole differenze però:

    !myVariable vale anche se "myVariable" non è stata ancora dichiarata e se è null o undefined, invece il secondo vale solo se è false (o zero).

    Nessuno dei due cambia valore alla variabile, però il ! è proprio una negazione, quindi è valido anche in casi in cui la variabile non esista proprio, il secondo invece presume che la variabile quantomeno esista

  6. #6
    Grazie per la precisazione Broly, quindi conviene cmq usare il "!" visto che fa la stessa cosa del "== false" e in aggiunta è anche più versatile no?

  7. #7
    Secondo me dipende dalla situazione e anche un po' dall'abitudine...personalmente di solito uso

    !nomeVar

    e Var

    piuttosto che

    nomeVar == false

    e Var==true

    Però magari un caso dove sai che la variabile sarà solo true o false (oppure 0 o 1 ) puoi anche usare == false e == true...non è che cambi moltissimo alla fine, in effetti il ! fa un paio di controlli in più che possono darti maggiore "sicurezza" della "non-esistenza" della variabile, però magari è un po' più lento da eseguire proprio perchè fa qualche controllo in più, ma è giusto una "nota" da "maniaco dell'ottimizzazione", non so quanto possa essere più lento (e nemmeno se lo sia ), è una nota "teorica"

  8. #8
    oppure il ! cambia il valore della variabile?
    anche qui dipende... se usi

    if(!variabile) {

    non cambi niente, mentre invece il ! può essere usato anche per invertire il valore di una variabile booleana

    variabile=!variabile;

    la fa passare da true a false e viceversa

    oppure contrario=!variabile

    occhio però che se il ! lo metti prima del = significa disuguaglianza

    if(contrario!=variabile) {

    etc etc.

    ciauz
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

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.