Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477

    Funzione a intervallo di 1 sec

    Buona domenica a tutti...

    Ho un tasto che richiama una funzione. Questa funzione dovrebbe ripetere le istruzioni al suo interno ad intervalli di 1 secondo, fino a che la variabile dell'incremento sia inferiore ad un determinato numero.....non sembra difficile ma non mi riesce, probabilmente faccio un errore banale, ma non riesco a vederlo!

    Questo è lo script:

    codice:
    y=0
    pausa = setInterval(icone, 1000);
    function icone(categoria) {
    	if (y<=categoria) {
    		istruzioni....
    istruzioni...
    		y++;
    		clearInterval(pausa);
    	}
    }
    Grazie!

  2. #2
    per richiamare la funzione e passargli un parametro devi scrivere così:

    codice:
    pausa = setInterval(icone, 1000,parametro);
    codice:
    function icone(categoria) {
    	y++;
    	if (y<=categoria) {
    		//istruzioni....
    	} else {
    		clearInterval(pausa);
    	}
    }
    come ho scritto io, finchè y è minore o uguale a categoria esegui le istruzioni, altrimenti termina la funziona

    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
    Forse non mi sono spiegato bene....
    Io richiamo la funzione 'icone' da un tasto. Questa funzione mi legge delle istruioni che poi, a distanza di 1 secondo, dovranno essere rilette ancora AUTOMATICAMENTE....finchè y non sarà uguale a 'categoria'.

    Ricapitolando:
    - richiamo la funzione
    - y è uguale a 0
    - lettura delle istruzioni
    - pausa di 1 secondo
    - incremento di y e rilettura delle istruzioni
    - pausa di 1 secondo
    - incremento di y e rilettura delle istruzioni
    ecc...

    Spero di essere stato più chiaro. Grazie per la disponibilità...festiva

  4. #4
    pulsante:
    codice:
    on(release){
    	y= 0;
    	pausa = setInterval(icone, 1000,parametro);
    }
    sul frame:
    codice:
    function icone(categoria) {
    	if (y<=categoria) {
    		//istruzioni....
    	} else {
    		clearInterval(pausa);
    	}
    	y++;
    }
    in questo modo?
    alla pressione del tasto richiama lafunzione. Se y è <= categoria esegue le istruzioni, quindi incrementa y

    dopo un secondo controlla nuovamente se y è <= a categoria ed esegue le istruzione o interrompe l'intervallo

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Originariamente inviato da Yassassin

    alla pressione del tasto richiama lafunzione. Se y è <= categoria esegue le istruzioni, quindi incrementa y

    dopo un secondo controlla nuovamente se y è <= a categoria ed esegue le istruzione o interrompe l'intervallo
    Quello che dici è esattamente ciò che voglio fare io, ma il tuo script non corrisponde a questo :master:
    Io però non uso il parametro del setInterval perchè non so cosa metterci ....può essere per questo che non funziona?

  6. #6
    Originariamente inviato da Zippo
    Quello che dici è esattamente ciò che voglio fare io, ma il tuo script non corrisponde a questo :master:
    non l'ho capita

    cmq se non passi parametri basta scrivere:


    codice:
    function icone() {
    	if (y<=categoria) {
    		//istruzioni....
    	} else {
    		clearInterval(pausa);
    	}
    	y++;
    }
    e ovviamente quando richiami la funzione icone non passare il parametro.

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Originariamente inviato da Yassassin
    non l'ho capita

    cmq se non passi parametri basta scrivere:


    codice:
    function icone() {
    	if (y<=categoria) {
    		//istruzioni....
    	} else {
    		clearInterval(pausa);
    	}
    	y++;
    }
    e ovviamente quando richiami la funzione icone non passare il parametro.
    Ok per il parametro. Quello che volevo dirti è che lo script che mi hai postato non corrisponde a quello che vorrei fare. Forse l'ho interpretato male perchè non sono ancora un mago con l'AS comunque leggendo il tuo script mi sembra di capire questo:
    "se y è < o = a categoria esegui le istruzioni altrimenti fai la pausa di 1 secondo e richiama la funzione"....ma a me non serve questo! La mia funzione dovrebbe eseguire le istruzioni a intervalli di 1 secondo fino a che y non sia superiore a categoria. Il tuo script l'ho provato e non va, devo premere ripetutamente il pulsante per ri-eseguire le istruzioni, invece dovrebbe farlo automaticamente.....non so, forse ho sbagliato fin dall'inizio? Devo usare il getTimer invece che il setInterval??

  8. #8
    Originariamente inviato da Zippo
    Ok per il parametro. Quello che volevo dirti è che lo script che mi hai postato non corrisponde a quello che vorrei fare. Forse l'ho interpretato male perchè non sono ancora un mago con l'AS comunque leggendo il tuo script mi sembra di capire questo:
    "se y è < o = a categoria esegui le istruzioni altrimenti fai la pausa di 1 secondo e richiama la funzione"....ma a me non serve questo! La mia funzione dovrebbe eseguire le istruzioni a intervalli di 1 secondo fino a che y non sia superiore a categoria. Il tuo script l'ho provato e non va, devo premere ripetutamente il pulsante per ri-eseguire le istruzioni, invece dovrebbe farlo automaticamente.....non so, forse ho sbagliato fin dall'inizio? Devo usare il getTimer invece che il setInterval??
    lo script che ti ho postato esegue la funziona ogni secondo finche y non è maggiore di categoria, solo allora interrompe l'intervallo.

    E' quello che vuoi tu

    un esempio

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Ok ci sono, finalmente ho trovato l'inghippo.....dovevo impostare 'categoria' come parametro del setInterval.
    Ora però c'è un altro problema (e quando mai va tutto bene al primo colpo! )

    Se nelle istruzioni della funzione devo moltiplicare un movie tot volte e spostarlo ogni volta di 50 px perchè non lo fa anche se con un trace risulta tutto corretto?

    Ecco uno script di prova:

    codice:
    i = 0;
    function crea(numero) {
    	if (i<=numero) {
    		duplicateMovieClip(mc, "mc"+i, i);
    		this["mc"+i]._y = this.mc._y+(50*i);
    		trace(i);
    	} else {
    		clearInterval(pausa);
    	}
    	i++;
    }
    sul pulsante:

    codice:
    on (release) {
    	pausa = setInterval(crea, 1000, 5);
    }

  10. #10
    vai così:

    codice:
    i = 0;
    function crea(numero) {
    	if (i<=numero) {
    		duplicateMovieClip(mc, "mc"+i, i);
    		eval("mc"+i)._y = mc._y+(50*i);
    	} else {
    		clearInterval(pausa);
    	}
    	i++;
    }

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

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.