Compte a rebours flash

louloute0703 Messages postés 55 Statut Membre -  
louloute0703 Messages postés 55 Statut Membre -
Bonjour,

j'aimerai réaliser un compte a rebour sur flash mx avec mois, jours, heures, minutes et secondes restants
la date de fin étant le 1er avril 2009 à minuit.
J'ai testé ce code:
// definition de la date de fin, il suffit de changer les valeurs pour donner cette date
annee_fin = 2010;
heure_fin = 00;
minute_fin = 01;
jour_fin = 01;
seconde_fin = 00;
mois_fin = 04;
ladate_fin = new Date(annee_fin, mois_fin, jour_fin, heure_fin, minute_fin, seconde_fin);
// definition de la date en cours
annee = ladate.getFullYear();
heure = ladate.getHours();
minute = ladate.getMinutes();
jour = ladate.getDate();
seconde = ladate.getSeconds();
mois = ladate.getMonth();
ladate = new Date();
// definition du compte à rebourd
fin = new Date(annee_fin-annee, mois_fin-mois, jour_fin-jour, heure_fin-heure, minutes_fin-minute, seconde_fin-seconde);
// affichage des infos
affichage_fin = +fin.getMonth()+" mois, "+fin.getDate()+" jours, "+fin.getHours()+" heures,"+fin.getMinutes()+" minutes, "+fin.getSeconds()+" secondes.";

mais le soucis c'est que les mois et jours restants qui s'affichent ne sont pas corrects car il m'affiche qu'il reste 4 mois et 1 jours, et les heures, minutes et secondes ne défilent pas.
Quelqu'un peut t'il m'aider ou me donner un code qui fonctionne.
Merci beaucoup d'avance.
A voir également:

26 réponses

louloute0703 Messages postés 55 Statut Membre 1
 
Yes ça marche un grand merci pour ton aide Tsunami chups.
Pour le souci du décalage d'un mois c'est parce que flash considére les mois de 0 à 11 donc janvier 0 et décembre 11.
Pour ceux que ça intéresse voici le bon code:

// definition de la date de fin, il suffit de changer les valeurs pour donner cette date
annee_fin = 2010;
heure_fin = 00;
minute_fin = 0;
jour_fin = 01;
seconde_fin = 0;
mois_fin = 03;
ladate_fin = new Date(annee_fin, mois_fin, jour_fin, heure_fin, minute_fin, seconde_fin);
// definition de la date en cours
ladate = new Date();
annee = ladate.getFullYear();
heure = ladate.getHours();
minute = ladate.getMinutes();
jour = ladate.getDate();
seconde = ladate.getSeconds();
mois = ladate.getMonth();
fin = new Date(annee_fin-annee, mois_fin-mois, jour_fin-jour, heure_fin-heure, minutes_fin-minute, seconde_fin-seconde);
this.onEnterFrame = function (){

affichage_fin = +fin.getMonth()+" mois, "+fin.getDate()+" jours, "+fin.getHours()+" heures,"+fin.getMinutes()+" minutes, "+fin.getSeconds()+" secondes.";

};

et encore merci
1
Tsunami Chups Messages postés 237 Statut Membre 12
 
pour faire defiler ton code en direct il faut que tu utilise onEnterFrame pour pouvoir executer des action en temps "reel" et ainsi initialiser les valeur a afficher

exemple :

onEnterFrame = function()
{
sec = sec + (1/frame);
trace(sec);
}

frame étant le nombre d'image par seconde pour arrondire a une seconde

essaye de te rencarder de ce coté la
0
louloute0703 Messages postés 55 Statut Membre 1
 
merci pour ta réponse mais je ne suis pas sure d'avoir compris, il faut ajouter onEnterFrame au code que j'ai mis dans mon précédent message ?
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
oui

onEnterFrame ser a reproduire des action de maniere a avoir 1 action par Frame
si tu as regler a 12image par seconde en 1seconde ton affichage changera 12 fois & co

l'affichage du temps restant si tu veu qu'il soit dynamique doit etre placer dans onEnterFrame pour qu'il ce rafraischissent
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
louloute0703 Messages postés 55 Statut Membre 1
 
oui mais je le place où cette onEnterFrame?
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
dans ton action script sur le scene principal ou le root

ou alors la ou il y a le reste de ton action script
0
louloute0703 Messages postés 55 Statut Membre 1
 
merci mais ça ne fonctionne pas quand je fais ctrl+entrée j'ai une page "sortie" qui s'affiche avec pleins de chiffres
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
ba s'était un exemple

place ca dans onEnterFrame

affichage_fin = +fin.getMonth()+" mois, "+fin.getDate()+" jours, "+fin.getHours()+" heures,"+fin.getMinutes()+" minutes, "+fin.getSeconds()+" secondes.";
0
louloute0703 Messages postés 55 Statut Membre 1
 
désolée mais je ne m'y connais pas encore beaucoup en flash peux tu m'expliquer clairement.
J'ai mon anim flash avec un champs de texte dynamique ou je veux qui s'affiche mon compte a rebour qui doit finir le 1er avril a 0h00.
En repartant de zéro qu'est ce que je mets exactements dans mon action script pour avoir ce que je veux.
merci beaucoup pour ton aide.
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
ton scrit qui recupere le temps actuel date heure and co
la date que tu veu arrater

this.onEnterFramr = function()
{
//affichage dans ton champs
}

la jeu peu pas faire plus simple
0
louloute0703 Messages postés 55 Statut Membre 1
 
Bonjour,

encore merci pour ton aide mais j'ai tappé le code suivant avec tes explications que j'ai comprise:
// definition de la date de fin
annee_fin = 2010;
heure_fin = 00;
minute_fin = 0;
jour_fin = 01;
seconde_fin = 0;
mois_fin = 04;
ladate_fin = new Date(annee_fin, mois_fin, jour_fin, heure_fin, minute_fin, seconde_fin);
// definition de la date en cours
annee = ladate.getFullYear();
heure = ladate.getHours();
minute = ladate.getMinutes();
jour = ladate.getDate();
seconde = ladate.getSeconds();
mois = ladate.getMonth();
ladate = new Date();
// definition du compte à rebourd
fin = new Date(annee_fin-annee, mois_fin-mois, jour_fin-jour, heure_fin-heure, minutes_fin-minute, seconde_fin-seconde);
this.onEnterFrame = function () { sec = sec+(1/12);trace(sec);};
// affichage des infos
affichage_fin = +fin.getMonth()+" mois, "+fin.getDate()+" jours, "+fin.getHours()+" heures,"+fin.getMinutes()+" minutes, "+fin.getSeconds()+" secondes.";

Mais j'ai toujours un décalage d'un mois de la date de départ qui concidére que l'on est en octobre et une page "sortie" avec plein de chiffres.
Peux tu m'expliquer ce qui ne va pas? je suis surement gourde sur ce coup là.
merci
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
essaye ca

this.onEnterFrame = function () { 

affichage_fin = +fin.getMonth()+" mois, "+fin.getDate()+" jours, "+fin.getHours()+" heures,"+fin.getMinutes()+" minutes, "+fin.getSeconds()+" secondes."; 

}; 


sec = sec+(1/12);trace(sec); n'était qu'un exemple ^^'

ladate = new Date(); ne te sert a rien la ou elle est placer remonte la avant son utilisation

et pour ton probleme de lien sortir s'est peu etre parce que tu ne fait pas de confrontation entre la date actuel et la date de fin

if(fin == ladate)
{
        //affichage du lien de sorti
}
else
{
     //le reste de ton script
}
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
Ba ecoute ca me fait plaisir ca fait un moment que je n'ai pas de flash concretement donc ^^

si ca a pu t'aider s'est good

bonne chanse pour la suite hésite pas a m'envoyer un mp si tu as un soucis ^^
0
louloute0703 Messages postés 55 Statut Membre 1
 
Re lol,
j'ai encore un petit soucis je viens de me rendre compte que si je mets la date à demain 0h, il n'affiche pas le bon temp restant apparament il bug dans les dernières 24h. As tu une solution?
merci
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
essayue de voir ce que te renvois la varriable qui affiche la date d'ajourd'hui
si s'est formater de la meme maniere et surtout que s'est la bonne valeur
0
louloute0703 Messages postés 55 Statut Membre 1
 
C'est bien la bonne date d'indiqué quand je l'affiche mais à la date de demain il me dit qu'il reste 11 mois et 31 jours...
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
verrifie le calcule entre les deux date comme tu as dit nous on est baser de 1a 12 mois, mais flash de 0 a 11

ca peu eventuelement venir de la

verrifie que la date que tu met de fin est bien compris entre 0 et 11 mois par exemple octobre sera 9 et non 10

je pense que s'est ca
0
louloute0703 Messages postés 55 Statut Membre 1
 
Non ce n'est pas ça vu que je l'avais fait remarquer je l'avais forcément pris en compte.
C'est dommage car jusque là tout marche il ne reste plus qu'a trouver la solution pour le bug des dernières 24h.
Tu as une autre solution?
0
Tsunami Chups Messages postés 237 Statut Membre 12
 
la je ne vois pas
peu etre que la method est pas bonne le mieu serai de convertire la date en seconde et les confronter et renformater ensuite le resultat
0
louloute0703 Messages postés 55 Statut Membre 1
 
Que veux tu dire par reformater le résultat?
je t'avoue que convertir la date en secondes ca ne m'intéresse pas vu que c'est dans 6mois.
J'en ai besoin pour demain, tu ne connais pas une autre méthode pour faire un compte à rebours?
Sinon autre petite question j'ai mis une typo spéciale pour le compte a rebour qui défilera a l'écran, si un autre ordi n'a pas la typo du coup ça ne sera pa la même? si non, il y a t'il une solution pour garder la typo?
0