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.
Configuration: Windows XP Internet Explorer 7.0

26 réponses

  • 1
  • 2
  1. 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
  2. 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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. louloute0703 Messages postés 55 Statut Membre 1
     
    oui mais je le place où cette onEnterFrame?
    0
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  • 1
  • 2