Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2007, 21h50   #1
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
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.
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 12h52   #2
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
salut
on peut voir le code et la structure ?
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 14h49   #3
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Aucun problème :

Code :
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
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 16h02   #4
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h06.


 
 
 
 
Partenaires

Hébergement Web