Compte à rebours entre deux "valeurs"

karinemariejeanne Messages postés 16 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 septembre 2010 - 3 juin 2010 à 12:50
karinemariejeanne Messages postés 16 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 septembre 2010 - 5 juin 2010 à 00:56
Bonjour,

Je suis en train "d'essayer" de réaliser un compte à rebours qui prends en compte une valeur prédéfinie et non pas le temps restant jusqu'à une certaine date.

Je voudrais par exemple qu'au démarrage de l'animation, il soit inscrit

6jours, 5 heures, 59 minutes, 59 secondes

et que lorsque l'on clic, l'animation commence et donc les chiffres décrémente.

J'ai fait ceci (mais ça ne décrémente pas !!) j'ai besoin de votre aide :'(

dateActuelle = new Date(2010,4,2,8,58,10);

////////////////////////////////////////////////////////
dateFin = new Date(2010, 5, 3, 23, 58, 0);
// 1er janvier 2010 à minuit = (2010, 0, 1, 0, 0, 0);
// 2 juin à 14h = (2010, 5, 2, 14, 0, 0);
//2 juin à 14 h 6 minutes(2010, 5, 2, 14, 6, 0);
////////////////////////////////////////////////////////

jours = (dateFin-dateActuelle)/1000/60/60/24;
jours = Math.floor(jours);
heures = (dateFin-dateActuelle)/1000/60/60-24*jours;
heures = Math.floor(heures);
minutes = (dateFin-dateActuelle)/1000/60-1440*jours-60*heures;
minutes = Math.floor(minutes);
secondes = (dateFin-dateActuelle)/1000-86400*jours-3600*heures-60*minutes;
secondes = Math.floor(secondes);

if (jours<=1) {
j = " jour ";
} else {
j = " jours ";
}
if (seconds == 60) {
seconds = 0;
}
if (minutes == 60) {
minutes = 0;
}
if (secondes<=9) {
secondes = "0"+secondes;
}
if (minutes<=9) {
minutes = "0"+minutes;
}
if (heures<=9) {
heures = "0"+heures;
}
if (jours<=9) {
jours = "0"+jours;
}
if (jours+heures+minutes == 0) {
jours = ""+jours;
}


if (jours<=-1) {
affichage_heures = "00 :";
affichage_jours = "00 :";
affichage_minutes = "00 :";
affichage_secondes = "00";
sec_cadran.gotoAndStop("stop_sec_cadran");
}
else {
affichage_heures = heures+" :";
affichage_jours = jours+" :";
affichage_minutes = minutes+" :";
affichage_secondes = secondes+"";
}

22 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 juin 2010 à 15:56
Re,

oui je sais, mais ça a l'air pas mal quand même.
Bon sinon il y a effectivement un problème avec les secondes dans mon code, je te tiens au courant dès que j'ai du nouveau.

A plus,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
karinemariejeanne Messages postés 16 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 septembre 2010
5 juin 2010 à 00:56
Salut !

Pour ceux que ça intéresseraient, j'ai corrigé le code ! :

(j'ai juste un petit soucis encore ... )
J'ai mis deux frames pour pouvoir mettre un btn start sur la frame 1, pour démarrer d'un clic et au passage à la frame suivante je vois

_level .... une fraction de sec. Si quelqu'un a une idée...
(au fait, j'ai enrobé les champs texte dans un clip en frame 2 et j'ai placé le code dessus, pour que onClipEvent fonctionne...

onClipEvent (load) {
var test = new Date();
var FullAnnee = test.getFullYear()
var JourDuMois = test.getDate()
var JourDeLaSemaine = test.getDay()
var Heure = test.getHours()
var LesMinutes = test.getMinutes()
var Mois = test.getMonth()
var Secondes = test.getSeconds()
var Annee = test.getYear()
var FullAnnee = test.getFullYear()

// Mettre + et la valeur désirée. Moi j'ai mis + 8 pour le nombre de jour
var a = FullAnnee;
var b = Mois;
var c = JourDuMois + 8;
var d = Heure ;
var e = LesMinutes ;
var f = Secondes ;
var dateFin = new Date(a, b, c, d, e, f);// yyyy,mm,dd,hh,mm,ss - remember that months start from 0

// i.e. (2009,1,15) = Feb 15th 2009
}
//1000 millisecs in a second
//10000 millisecs in 10 seconds
//60000 millisecs in a minute
//600000 millisecs in 10 minutes
//3600000 millisecs in an hour
//36000000 millisecs in 10 hours
//86400000 millisecs in a day
//864000000 millisecs in 10 days
//8640000000 millisecs in 100 days
//86400000000 millisecs in 1000 days - 3 ans

onClipEvent (enterFrame) {




dateActuelle = new Date ();



trace(dateFin-dateActuelle);



jours = (dateFin-dateActuelle)/1000/60/60/24;
jours = Math.floor(jours);
heures = (dateFin-dateActuelle)/1000/60/60-24*jours;
heures = Math.floor(heures);
minutes = (dateFin-dateActuelle)/1000/60-1440*jours-60*heures;
minutes = Math.floor(minutes);
secondes = (dateFin-dateActuelle)/1000-86400*jours-3600*heures-60*minutes;
secondes = Math.floor(secondes);

if (jours<=1) {
j = " jour ";
} else {
j = " jours ";
}
if (seconds == 60) {
seconds = 0;
}
if (minutes == 60) {
minutes = 0;
}
if (secondes<=9) {
secondes = "0"+secondes;
}
if (minutes<=9) {
minutes = "0"+minutes;
}
if (heures<=9) {
heures = "0"+heures;
}
if (jours<=9) {
jours = "0"+jours;
}
if (jours+heures+minutes == 0) {
jours = ""+jours;
}


if (jours<=-1) {
affichage_heures = "00 :";
affichage_jours = "00 :";
affichage_minutes = "00 :";
affichage_secondes = "00";
sec_cadran.gotoAndStop("stop_sec_cadran");
}
else {
affichage_heures = heures+" :";
affichage_jours = jours+" :";
affichage_minutes = minutes+" :";
affichage_secondes = secondes+"";
}
}
0
Rejoignez-nous