IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

utilisation de SetInterval


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut utilisation de SetInterval
    Bonjour à tous,

    J'ai une petit soucis avec l'utilisation de setInterval et j'espère que vous allez pouvoir m'aider...

    Je voudrais que ma_première_fonction appelle ma_deuxième_fonction à un intervalle de temps "attente" (que je change dynamiquement), et qu'elle lui passe une variable valeur en paramètre(variable qui varie comme son nom l'indique).

    J'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    racine=this;
    valeur=0;
    attente=0;
     
    ma_premiere_fonction();
     
     
    function ma_premiere_fonction()
    {
    	valeur++;
    	attente +=10;
    	if(attente<=70)
    	{	
    		trace("ma_premiere_fonction : valeur - "+valeur+" attente - "+attente);
    		id_Interval = setInterval(racine,"ma_deuxieme_fonction",attente*100,valeur);
    	}
    	else
    	{
    		clearInterval(id_Interval);
    	}
    }
     
    function ma_deuxieme_fonction(param)
    {
    	attente +=10;
    	valeur++;
    	trace("valeur : "+param);
    }
    et tandis que je m'attendais à voir apparaitre

    valeur : 0;
    valeur : 1;
    valeur : 2;
    valeur : 3;
    ...

    à un intervalle de temps croissant

    en fait, valeur reste à 1 et l'intervalle de temps d'affichage est toujours le meme.

    Quelqu'un aurait-il une idée sur ce que je fais mal ?


    Merci d'avance,

    Emilie

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,

    dans le code joint, la fonction ma_premiere_fonction est appelé une seule fois,
    l'intervalle n'est donc lancé qu'une seule fois.

    la fonction ma_deuxieme_fonction ne fait que modifier les valeurs des variables.
    (et sans même prendre en compte la valeur du paramètre)

    voila un exemple qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    _level0.valeur = 1;
    _level0.attente = 0;
     
    ma_premiere_fonction();
     
    function ma_premiere_fonction()
    {
        trace("ma_premiere_fonction : valeur - "+_level0.valeur+" attente - "+_level0.attente);
        _level0.idInterval = setInterval(_level0, "ma_deuxieme_fonction", _level0.attente*100);
    }
     
    function ma_deuxieme_fonction()
    {
        trace("temps : "+ getTimer() );
        trace("valeur : "+ _level0.valeur );
     
        _level0.valeur++;
        _level0.attente++;
        if(_level0.attente<=7)
        {
            clearInterval(_level0.idInterval);
            _level0.idInterval = setInterval(_level0, "ma_deuxieme_fonction", _level0.valeur*100);
        }
        else
        {
            clearInterval(_level0.idInterval);
        }
    }
     
    stop();
    le première fonction lance juste le premier intervalle.

    la seconde s'occupe d'accélérer la vitesse et de relancer l'intervalle.

    ;)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Merci beaucoup beekeep,

    Non seulement, tu m'expliques pourquoi ça ne marche pas, mais en plus, tu me le démontres par un exemple qui marche.
    Super sympa !

    Merci

    Emilie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Utilisation Ajax et setInterval
    Par vbaguet dans le forum jQuery
    Réponses: 18
    Dernier message: 14/03/2014, 16h26
  2. Utilisation de la fonction setInterval
    Par Myrrdin dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 10/12/2009, 14h19
  3. utilisation de setInterval
    Par cicco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 19/06/2009, 09h23
  4. Utiliser un string dans une fonction de setInterval
    Par strat0 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 02/08/2007, 17h56
  5. Utilisation de 2 fonctions setInterval successives
    Par mouste79 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 02/12/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo