Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
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 21/08/2007, 17h14   #1
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 94
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 94
Points : 38
Points : 38
Par défaut Problème de setInterval dans une Classe

Bonjour,

j'ai une classe Compteur dans laquelle, un set Interval doit lancer le départ d'un compteur.

L'affichage fonctionne, mais je n'arrive pas à faire fonctionner mon setInterval dans mon .Fla, le compteur reste à 1.

J'ai mis ci dessous les méthodes comportants le setInterval et la fonction qu'il doit lancer.

Citation:
class Compteur
{
public function beginInterval():Void
{
intervalId = setInterval(this,"lancerCompteRebours",1000);
}

public function lancerCompteRebours(affichageCompteRebours:TextField, Atteindre:Number):Void
{
_difference = Math.round((Atteindre-getTimer())/1000);
_heures = Math.floor(_difference/3600);
_minutes = Math.floor(_difference/60)-(_heures*60);
_secondes = Math.floor(_difference-(_heures*3600)-(_minutes*60));

_heures = _heures<=9 ? _heures=_heures : _heures;
_minutes = _minutes<=9 ? _minutes=_minutes : _minutes;
_secondes = _secondes<=9 ? _secondes=_secondes : _secondes;
affichageCompteRebours.text = _heures+":"+_minutes+":"+_secondes;

if (_difference == 0)
{
// Action à executer quand temps est terminé
clearInterval(intervalId);
}

};//fin fonction lancerCompteRebours


}//fin class compteur
jeremie74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2007, 19h45   #2
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 94
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 94
Points : 38
Points : 38
Par défaut J'ai réécrit la classe et elle fonctionne

Citation:
class Compteur
{
//propriétés privés
private var _vHeures:Number=0;
private var _vMinutes:Number=1;
private var _vSecondes:Number=0;
private var _tempsAtteindre:Number= _vHeures*60*60*1000 + _vMinutes*60*1000 + _vSecondes*1000 + getTimer();
private var intervalId:Number;
private var heures:Number;
private var minutes:Number;
private var secondes:Number;
private var difference:Number;
private var _affichage:TextField;

public function set affichage(Contenu:TextField)
{
_affichage = Contenu;
}
public function get affichage()
{
return _affichage;
}

public function beginInterval()
{
intervalId = setInterval(this, "lancerCompteRebours", 1000);
}

public function lancerCompteRebours()
{
difference = Math.round((_tempsAtteindre-getTimer())/1000);
trace (difference);
heures = Math.floor(difference/3600);
minutes = Math.floor(difference/60)-(heures*60);
secondes = Math.floor(difference-(heures*3600)-(minutes*60));
//
heures = heures<=9 ? heures=heures : heures;
minutes = minutes<=9 ? minutes=minutes : minutes;
secondes = secondes<=9 ? secondes=secondes : secondes;
affichage.text = heures+":"+minutes+":"+secondes;

if (difference == 0)
{
// Action à executer quand temps est terminé
}
};//fin fonction lancerCompteRebours


}//fin class compteur
jeremie74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h14.


 
 
 
 
Partenaires

Hébergement Web