Problème sur un compteur...

stefie50 Messages postés 4 Date d'inscription lundi 28 décembre 2009 Statut Membre Dernière intervention 6 avril 2010 - 1 avril 2010 à 18:05
stefie50 Messages postés 4 Date d'inscription lundi 28 décembre 2009 Statut Membre Dernière intervention 6 avril 2010 - 6 avril 2010 à 15:16
Bonjour.

Je dois d'abord dire que je débute dans le flash... Donc quand j'ai besoin d'une animation, je modifie celui que je trouve le plus proche de ce que je veux... Je sais que ce n'est pas bien, mais petit à petit, j'apprends...

Voilà ce qui m'amène : j'ai téléchargé COMPTEUR & DÉCOMPTEUR ANNÉE MOIS JOUR HEURE MINUTES SECONDE AVEC GESTION DES ANNÉES BISSEXTILES de Wooshoo pour le modifier.
Donc pas de souci pour modifier le fond, la police... Mais là où je bute, c'est que je ne voudrais pas d'après évènement (son code inclut un compteur après) et je voudrais que le compteur aille une fois l'évènement arrivé sur une autre image et y reste. (c'est un décompteur pour un anniversaire et je voudrais que le message "Bon anniversaire", écrit avec un fond différent du premier fond, reste pendant au moins quinze jours...).

Si vous pouviez m'aider... Je voudrais savoir si je peux supprimer le compteur "after" mais quelles lignes ?
Et comment faire pour arrêter sur une image ? (j'ai essayé de rentrer stop(); sur le l'image 2 mais ça ne marche pas...)
Je vous remarque le code de l'actionscript de l'image 1:




// Date de l'évènement
annee = 2010;
mois = 04;
jour = 1;
heure = 00;
minute = 00;
seconde = 00;
// ATTENTION! Précisez ici le fuseau horaire!
// Et corrigez-le éventuellement avec l'heure d'été
// ou l'heure d'hiver... Je n'ai pas poussé le vice
// jusqu'à le calculer automatiquement
fuseau_horaire = 1;
// Pour la France, pour un évènment:
// en été, fuseau_horaire = 2;
// en hiver, fuseau_horaire = 1;

textBeforeEvent= "";
textAfterEvent = textOnEvent;
textOnEvent = "Bon anniversaire !!!";

/****** Et voilà! Il n'y a plus rien à modifier sous cette ligne ******/
/****** (à moins de vouloir mettre la main dans le cambouis) ******/

// Bizarrement Flash8 utilise des mois de 0 à 11 au lieu de 1 à 12!!!
// Donc on enleve 1 au mois donné...
mois = mois - 1;
eventDate = new Date(annee,mois ,jour ,heure - fuseau_horaire,minute ,seconde);
currentDate = new Date();

// Pour gérer les différents fuseaux horaires,
// nous récupérons le décalage du fuseau de l'ordinateur local.
timeZoneOffset = currentDate.getTimezoneOffset();

// Nous appliquons le décalage à la date actuelle
// C'est plus efficace que d'utiliser les méthodes UTC
// car nous pouvons du coup facilement échanger currentDate & eventDate
// (utile dans le cas du compteur)
currentDate.setMinutes(currentDate.getMinutes() + timeZoneOffset);

cAnnees = 0;
cMois = 0;
cJours = 0;
cHeures = 0;
cMinutes = 0;
cSecondes = 0;
cStatus = "";
cOffset = 0;

if ((currentDate.getFullYear() == eventDate.getFullYear())
&& (currentDate.getMonth() == eventDate.getMonth())
&& (currentDate.getDate() == eventDate.getDate()))
{
cStatus = "today";
textToDisplay = textOnEvent;
}
else
{
// Si la date n'est pas encore passée, c'est un décompteur... Rien à changer.
if (currentDate < eventDate)
{
cStatus = "before";
}

// Par contre, si la date est déjà passée, c'est un compteur!
// Dans ce cas, on échange currentDate et eventDate
// pour pouvoir utiliser le même code...
else if (currentDate > eventDate)
{
cStatus = "after";
tempCurrentDate = new Date(currentDate.getFullYear(),currentDate.getMonth(), currentDate.getDate(), currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
tempEventDate = new Date(eventDate.getFullYear(),eventDate.getMonth(), eventDate.getDate(), eventDate.getHours(), eventDate.getMinutes(), eventDate.getSeconds());
currentDate = tempEventDate;
eventDate = tempCurrentDate;
}

// Nombre d'années
while (currentDate < eventDate)
{
currentDate.setFullYear(currentDate.getFullYear()+1);
cAnnees++;
}
if (currentDate > eventDate)
{
currentDate.setFullYear(currentDate.getFullYear()-1);
cAnnees--;
}

// Nombre de mois
while(currentDate< eventDate)
{
cOffset = currentDate.getDate();
testDate = new Date(currentDate.getFullYear(),currentDate.getMonth(), currentDate.getDate(), currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
testDate.setMonth(testDate.getMonth()+1);
cOffset = testDate.getDate() - cOffset;
if (cOffset != 0)
{
currentDate.setMonth(currentDate.getMonth()+2);
cMois = cMois + 2;
}
else
{
currentDate.setMonth(currentDate.getMonth()+1);
cMois++;
}
}
if (currentDate > eventDate)
{
cOffset = currentDate.getDate();
testDate = new Date(currentDate.getFullYear(),currentDate.getMonth(), currentDate.getDate(), currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
testDate.setMonth(testDate.getMonth()-1);
cOffset = testDate.getDate() - cOffset;
if (cOffset != 0)
{
currentDate.setMonth(currentDate.getMonth()-2);
cMois = cMois - 2;
}
else
{
currentDate.setMonth(currentDate.getMonth()-1);
cMois--;
}
}

// Nombre de jours
while(currentDate< eventDate)
{
currentDate.setDate(currentDate.getDate()+1);
cJours++;
}
if (currentDate > eventDate)
{
currentDate.setDate(currentDate.getDate()-1);
cJours--;
}

// Nombre d'heures
while(currentDate< eventDate)
{
currentDate.setHours(currentDate.getHours()+1);
cHeures++;
}
if (currentDate > eventDate)
{
currentDate.setHours(currentDate.getHours()-1);
cHeures--;
}

// Nombre de minutes
while(currentDate< eventDate)
{
currentDate.setMinutes(currentDate.getMinutes()+1);
cMinutes++;
}
if (currentDate > eventDate)
{
currentDate.setMinutes(currentDate.getMinutes()-1);
cMinutes--;
}

// Nombre de secondes
while(currentDate< eventDate)
{

currentDate.setSeconds(currentDate.getSeconds()+1);
cSecondes++;
}
if (currentDate > eventDate)
{
currentDate.setSeconds(currentDate.getSeconds()-1);
cSecondes--;
}
}

// Prise en compte du singulier et du pluriel
if ((cAnnees 0 ) || (cAnnees 1))
{
dy = " an ";
}
else
{
dy = " ans ";
}

dM = " mois ";

if ((cJours 0 ) || (cJours 1))
{
dd = " jour ";
}
else
{
dd = " jours ";
}

if ((cHeures 0 ) || (cHeures 1))
{
dh = " heure ";
}
else
{
dh = " heures ";
}

if ((cMinutes 0 ) || (cMinutes 1))
{
dm = " minute ";
}
else
{
dm = " minutes ";
}

if ((cSecondes 0 ) || (cSecondes 1))
{
ds = " seconde ";
}
else
{
ds = " secondes ";
}
if (cStatus == "after")
{
textToDisplay = textAfterEvent;
}
else if (cStatus == "before")
{
textToDisplay = "Plus que";
}

if (cAnnees != 0)
{
textToDisplay += " " + cAnnees+ dy;
}
if (cMois != 0)
{
textToDisplay += ", " + cMois + dM;
}
if (cJours != 0)
{
textToDisplay += ", " + cJours + dd;
}
if (cHeures != 0)
{
textToDisplay += ", " + cHeures + dh;
}
if (cMinutes != 0)
{
textToDisplay += ", " + cMinutes + dm;
}
// Pour des raisons de fluidité d'affichage,
// j'ai supprimé le test sur les secondes...
//if (cSecondes != 0)
//{
textToDisplay += ", " + cSecondes + ds;
//}

//On remplace la derniere virgule par "et"
index = textToDisplay.lastIndexOf(",");
textToDisplay = textToDisplay.substr(0,index) +"et" + textToDisplay.substr(index + 1, textToDisplay.length);

//On vérifie que juste après le premier texte, il n'y ait pas de virgule
index = textToDisplay.indexOf(",");
if((textToDisplay.substring(index-3,3) != " an") && (textToDisplay.substring(index-4,4) != " ans")
&& (textToDisplay.substring(index-5,5) != " mois")
&& (textToDisplay.substring(index-5,5) != " jour") && (textToDisplay.substring(index-6,6) != " jours")
&& (textToDisplay.substring(index-6,6) != " heure") && (textToDisplay.substring(index-7,7) != " heures"))
{
textToDisplay = textToDisplay.substr(0,index) + textToDisplay.substr(index+1,textToDisplay.length);
}

if (cStatus == "before")
{
textToDisplay += textBeforeEvent;


Merci !

3 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
1 avril 2010 à 18:21
Bonjour,

Pourquoi ne poses-tu pas la question directement sur la source ou à l'auteur ? Il serait le mieux placé pour répondre à ta question.

Peg'
Admin Codes-Sources
0
stefie50 Messages postés 4 Date d'inscription lundi 28 décembre 2009 Statut Membre Dernière intervention 6 avril 2010
1 avril 2010 à 18:50
C'est b^te, je n'y ai pas pensé !

Je poste un message privé tout de suite !

Merci
0
stefie50 Messages postés 4 Date d'inscription lundi 28 décembre 2009 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 15:16
Euh, personne ne peut m'aider ???

Je sèche grave et apparemment l'auteur n'est plus là...

Merci...
0
Rejoignez-nous