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 la fonction setInterval


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Points : 22
    Points
    22
    Par défaut Utilisation de la fonction setInterval
    Bonjour.

    Je suis en train d'apprendre à me servir de la fonction setInterval (). Mais j'ai beau faire, la fonction se déclenche bien, mais impossible de l'arrêter.

    Comme il ne s'agit que d'un exercice que je me suis imposé, la scène n'a rien de compliqué : un fond vide, un bouton nommé "bouton_btn" et un clip représentant un carré bleu et nommé "Carre_mc". Le carré est invisible au début de l'animation et il apparait en fondu lorsqu'on clique sur le bouton.

    Pour l'instant mon code ressemble à ç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
     
    //Rend le carré invisible
    Carre_mc._alpha = 0;
     
    function fondu () {
    	trace ("La valeur alpha est de "+Carre_mc._alpha+".");
     
    	//On incrémente la valeur alpha à chaque tour
    	Carre_mc._alpha ++;
     
    	//Si la valeur alpha atteint 100
    	if (Carre_mc._alpha>=100) {
    		trace ("La valeur alpha est de = "+Carre_mc._alpha+". L'intervalle est arrêté. Intervalle vaut "+Intervalle);
     
    		//On détruit l'intervalle
    		clearInterval(Intervalle);
    	}
     
    	//On met en place l'intervalle
    	var Intervalle = setInterval (fondu, 100);
    }
    Bouton_btn.onRelease = function () {
    	trace ("L'intervalle est démarré.");
    	fondu ();
    }
    J'ai essayé en plaçant "var Intervalle..." au début de la fonction, dans une structure de condition, etc. Mais rien n'y fait.

    Si quelqu'un peut m'aider à comprendre comment fonctionne cette fonction, ce serait sympa.

    Merci.

    PS : Je sais que l'on peut aussi réaliser cette opération avec onEnterFrame, mais comme je l'ai dit, il s'agit d'un exercice pour comprendre comment fonctionne cette fonction.

  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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    Citation Envoyé par Myrrdin Voir le message
    PS : Je sais que l'on peut aussi réaliser cette opération avec onEnterFrame, mais comme je l'ai dit, il s'agit d'un exercice pour comprendre comment fonctionne cette fonction.
    le plus facile est d'utiliser des Tweens pour ça.

    mais pour voir comment utiliser une fonction le mieux c'est encore de lire la doc :
    http://livedocs.adobe.com/flash/9.0_...=00001216.html

    (la variable doit être déclarée en dehors de la fonction)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    Bonjour.

    Merci pour votre réponse. J'avais déjà lu cette page (sans tout comprendre, je l'avoue. Notamment la différence d'utilisation entre les deux fonctions présentées).

    En fait, pour être plus précis, j'arrive à utiliser la fonction lorsque celle-ci est déclenchée à la lecture d'une image clé. Avec un code comme ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Carre_mc._alpha = 0;
    function fondu () {
    	Carre_mc._alpha ++;
     
    	if (Carre_mc._alpha>=100) {
    		clearInterval(Intervalle);
    	}
    }
    var Intervalle = setInterval (this, "fondu", 100);
    Mais je voudrais à présent la déclencher lorsque je clique sur un bouton. Et là ça me pose un problème. Et je ne comprends pas pourquoi. Désolé de vous embêter avec quelque chose qui vous paraît peut-être basique...

    Si vous avez une solution, je prends volontiers.

    Merci d'avance.

  4. #4
    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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    le code devrait ressembler à ç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
    Carre_mc._alpha = 0;
    var Intervalle:Number;
     
    function fondu ()
    {
        Carre_mc._alpha ++;
     
        if (Carre_mc._alpha>=100) {
            clearInterval(Intervalle);
        }
    }
     
    Bouton_btn.onRelease = function ()
    {
        if(Intervalle != null)
            clearInterval(Intervalle);
     
        Intervalle = setInterval (this._parent, "fondu", 100);
    };

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/01/2016, 13h16
  2. Utilisation de 2 fonctions setInterval successives
    Par mouste79 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 02/12/2005, 15h56
  3. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 14h35
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 12h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50

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