Visualizzazione dei risultati da 1 a 7 su 7

Discussione: setInterval 360°

  1. #1
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691

    setInterval 360°

    Il setInterval(xx,10)cosi impostato in teoria dovrebbe
    richiamare la funzione xx ogni centesimo di secondo giusto?

    Allora se la funzione xx mi incrementa una variabile
    di 0.06 in un minuto dovrei ottenere:
    1min=6000 centesimi di sec (6000 chiamate della funzione xx)
    6000*0.06=360

    giusto?
    allora se io faccio un clearInterval quando raggiungo 360
    e controllo il tempo passato in realtà sono trascorsi
    72 secondi?

    Il setInterval non è preciso oppure ho il cronometro del telefonino
    che è Troppo Avanti?
    ...altri 5 anni di purga...

  2. #2
    Che versione hai di Flash ?

  3. #3
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    2004 7.2
    ...altri 5 anni di purga...

  4. #4
    Io ho provato con la stessa versione e se mi faccio restituire il valore dal getTimer mi vengono giustamente restuiti circa 60 secondi

    a = 0
    b = setInterval(){
    function(){
    a++
    },10)

    _root.onEnterFrame = function(){
    if(a>=360){
    trace(getTimer())
    clearInterval(b)
    delete this.onEnterFrame
    }
    }

  5. #5
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    così, che dovrebbe restituire 10000 (10 sec),
    mi da 12050 (12.05 sec)

    a = 0
    b = setInterval(function(){ a++ },10)

    _root.onEnterFrame = function(){

    if(a>=1000){
    trace(getTimer())
    clearInterval(b)
    delete this.onEnterFrame
    }
    }
    :master:
    ...altri 5 anni di purga...

  6. #6
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    ok...
    non può funzionare in modo preciso,
    o meglio è in stretta dipendenza dal framerate
    in effetti se imposto il framerate a 100
    è abbastanza preciso.
    Quindi se l'intervallo è inferiore al framerate
    (come spiega la guida ) la chiamata della funzione
    è effettuata con approssimazione, quindi .....
    è meglio usare il getTimer ed incrementare la variabile
    ogni centesimo di secondo.
    ...altri 5 anni di purga...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    stavo giusto scrivendo un intervento a tal proposito, ma mi hai anticipato, ebbene anche il setInterval dipende dal framerate

    nell'intervento volevo appunto dire che la cosa "migliore" sarebbe quella di usare un framerate alla stregua dei millesimi di secondo, 100 o addirittura 1000 fps

    io in realtà mi trovo abbastanza bene anche con i 60fps che uso di solito nei miei progetti

    oltretutto, bada al fatto che la distorsione del tempo è data anche dal numero e dalla complessità delle azioni presenti nella funzione stessa

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.