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

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut utilisation de setInterval
    Bonjour,
    j'essai de faire apparaitre mon texte lettre par lettre mais le souci est que j'ai bien l'impression que la fonction ne se lance pas et malheureusement je n'arrive pas a trouver pourquoi ...

    voici le code :
    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
     
    function avance(_tabMembre:String, _i:Number):Void 
    { 
          var _longueur = _tabMembre.length; 
          _n = 1; 
          if (_n != _longueur) 
          { 
                _level0[_i].texte.text += _tabMembre.substr(0, n); 
                _n++; 
           } 
           else 
           { 
               clearInterval(_pas); 
            } 
    } 
    var _pas = setInterval(avance(_tabMembre[_i], _i), 200);

  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
    Bonjour,

    il ne faut pas hésiter à regarder les exemples dans l'aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var nInterval;
     
    afficheTexte("texte affiché", 1);
     
    function afficheTexte(sTexte:String, nCount:Number):Void 
    {
        champ.text = sTexte.substr(0, nCount);
     
        clearInterval(nInterval); 
     
        if( nCount < sTexte.length )
            nInterval = setInterval(this, "afficheTexte", 500, sTexte, nCount+1);
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    Merci pour la reponse,
    je l'ai fais mais j'avoue que j'ai du mal a saisir vraiment comment marche la fonction meme si maintenant je viens de comprendre que les parametre de ma fonction passe das le set interval et non dans l'appel de la fonction.
    enfin ceci dit je n'y arrive tjr pas ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var _n = 1;
    var _pas;
    avance(_tabMembre[_i], _i);
    avance = function (_tabMembre:String, _i:Number):Void
    {
    	_level0[_i].texte.text += _tabMembre.substr(0, _n);
    	clearInterval(_pas);
    	if (_n < _tabMembre.length)
    	{
                        _pas = setInterval(this, 'avance', 200, _tabMembre[_i], _n++);
    	}
    }
    ca avance unpeu ... mais c'est pas encore ca! si quelqu'un a une idee ...
    merci
    P.S. : je joint un .fla simplifié si ca peut aider.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    a y reflechir, je pense que ma fonction n'a pas le temps de s'execute entierement avant que la boucle la relance donc pour resoudre ceci j'aimerais savoir s'il est possible de faire (plus ou moin) un pause dans la boucle pour laisser le temps a la fonction de s'executer ???

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    Apres quelque modification je me retrouve avec un code tel que celui ci dessou mais qui n'est pas completement operationnel.
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    function creaMembre(_tabMembre, _posY, _domaine)
    {
    	_taille = 0;
    	effSousMenu(_nbMenu);
    	effCadre();
    	effMcMembre();
    	_j = _tabMembre.length;
    	_posX = 190;
    	//creation d'un clip par sous-menu avec pour texte le retour de la requete
    	_i = 0;
    	boucle();
    	function boucle()
    	{
    		if (_i > 0)
    		{
    			_taille += this[_i - 1]._width;
    		}
    		else
    		{
    			_taille = 0;
    		}
    		my_fmt = new TextFormat();
    		my_fmt.size = 12;
    		metrics = my_fmt.getTextExtent(_tabMembre[_i]);
    		_level0.createEmptyMovieClip(_i, getNextHighestDepth());
    		_level0[_i].createTextField("texte", getNextHighestDepth(), _posX + _taille, _posY - 1, metrics.textFieldWidth, metrics.textFieldHeight);
    		var _n = 1;
    		var _pas = null;
    		avance(_tabMembre[_i], _i);
    		avance = function (_sTexte:String, _i:Number):Void
    		{
    			_level0[_i].texte.text = _sTexte.substr(0, _n);
    			clearInterval(_pas);
    			if (_n < _sTexte.length)
    			{
    				_pas = setInterval(this, 'avance', 50, _tabMembre[_i], _n++);
    			}
    		};
    		_i++;
    		if (_i < _j)
    		{
    			marche = setTimeout(boucle, 800);
    		}
    		else
    		{
    			clearTimeout(marche);
    		}
    	}
    	_level0[_i].onRelease = function()
    	{
    		menuMembre(_level0.texte.text);
    	};
    	_nbMenu = _i;
    }
    si quelqu'un a une petite idee ?

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 emilie_t dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 25/02/2008, 20h20
  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