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

Flash Discussion :

[FLASH 8] setInterval persistant


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut [FLASH 8] setInterval persistant
    Bonjour,

    je cherche à utiliser la fonction setInterval pour lancer un thread (plus précisement un timer). La fonction marche correctement et affiche bien un message à la fin de l'exécution si je reste sur la même image !

    Le problème survient lorque j'essaye de naviguer entre deux images. Je lance le setInterval sur l'image A et avant la fin du timer je passe à l'image B. Et là oh mauvaise surprise le message d'erreur n'apparait pas !
    J'ai essayé de jouer sur le domaine de la fonction setInterval, d'utiliser une variable globale pour l'instance de ma classe Timer mais cela ne change rien.

    Merci d'avance pour l'aide.

  2. #2
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    salut
    on peut voir le code et la structure ?

  3. #3
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Aucun problème :

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    class Timer{
    	private var Duree : Number; //tps restant avant la fin du timer
    	private var Label : Object; //libelle servant à afficher le timer
    	private var Fonction : Function; //fonction appelée à la fin du timer
    	private var Thread : Number = 0; //thread associé au timer
     
     
    	//constructeur de la classe
    	function Timer(_Duree : Number, _Label : Object, _Fonction : Function, _tParam : Array){		
    		Duree = _Duree;
    		Label = _Label;
    		Fonction = _Fonction;
     
    		//lancder le thread
    		tester_fin_timer();
    		Thread = setInterval(this, "tester_fin_timer", 1000, _tParam);
    		trace('set ' + Thread);
    	}
     
     
    	//champ Duree
    	function set setDuree(_Duree : Number){ Duree = _Duree; }	
    	function get getDuree() : Number{ return Duree; }			
     
    	//champ Label
    	function set setLabel(_Label : Object){ Label = _Label; }	
    	function get getLabel() : Object{ return Label; }		
     
    	//champ Fonction
    	function set setFonction(_Fonction : Function){ Fonction = _Fonction; }	
    	function get getFonction() : Function{ return Fonction; }		
     
    	//champ Thread
    	function set setThread(_Thread : Number){ Thread = _Thread; }	
    	function get getThread() : Number{ return Thread; }
     
     
    	//afficher le temps restants avant la fin du timer
    	function afficher_duree() : String{
    		var heure : String = "00";
    		var minute : String = "00";
    		var seconde : String = "00";
     
    		heure = String(Math.floor(Duree/3600));
    		minute = String(Math.floor((Duree - 3600*heure)/60));
    		seconde = String(Duree - 3600*heure - minute*60);
     
    		Duree --;
    		Label.text = heure + ":" + minute + ":" + seconde;
     
    		return Label.text;
    	}
     
     
    	//tester si un timer est terminé
    	function tester_fin_timer(_tParam : Array){
    		var horraire : String = afficher_duree();
     
    		if(horraire == "0:0:0") endTimer(_tParam);
    	}
     
     
    	//terminer un timer en cours
    	function endTimer(_tParam : Array){
    		if(_tParam == undefined) Fonction();
    		Label.text = "";
    		clearInterval(Thread);
    	}
    }
    Merci pour l'aide

  4. #4
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut

Discussions similaires

  1. [FLASH 8] setInterval
    Par charlix dans le forum Flash
    Réponses: 6
    Dernier message: 14/12/2006, 01h17
  2. [FLASH MX2004] setInterval & Date.getMilliseconds()
    Par solarishp dans le forum Flash
    Réponses: 4
    Dernier message: 08/12/2006, 01h16
  3. [FLASH 8] setinterval();
    Par Destiny dans le forum Flash
    Réponses: 2
    Dernier message: 20/12/2005, 08h19
  4. [FLASH MX] pb setInterval
    Par chocobos dans le forum Flash
    Réponses: 5
    Dernier message: 24/08/2005, 16h42
  5. [flash MX] probleme avec setinterval et clearinterval
    Par yacinechaouche dans le forum Flash
    Réponses: 3
    Dernier message: 15/04/2004, 12h07

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