begin process at 2012 05 27 18:52:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Problème sur un compteur...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème sur un compteur...

jeudi 1 avril 2010 à 18:05:22 | Problème sur un compteur...

stefie50

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 !
jeudi 1 avril 2010 à 18:21:23 | Re : Problème sur un compteur...

pegase31

Membre Club Administrateur CodeS-SourceS
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
jeudi 1 avril 2010 à 18:50:33 | Re : Problème sur un compteur...

stefie50

C'est b^te, je n'y ai pas pensé !

Je poste un message privé tout de suite !

Merci
mardi 6 avril 2010 à 15:16:45 | Re : Problème sur un compteur...

stefie50

Euh, personne ne peut m'aider ???

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

Merci...



Cette discussion est classée dans : index, currentdate, if, texttodisplay, eventdate


Répondre à ce message

Sujets en rapport avec ce message

Php et flash, inséré des données [ par tadnet ] Bonjour à vous tous!Voila j'ai télécharger un script flash (compte à rebourds). Le compte à rebourds marche nikel.Je souhaiterais afficher ce swf dans ecrasement de fla [ par vcordonnier ] Bonjour,Je suis bloquée sur le chargement de fla à partir d'un bouton appartenant à un fla initial.Par exemple pour les items :italie = bouton du fla probleme avec mon fla [ par twiggy55 ] bonjour j'ai un gros probleme voila je suis en train d'apprendre le flash et je me rend compte que c'est vraiment dure et le pire c'est que j'aime bcp problème de publication sur le serveur [ par benedict ] Cela fait deux jours que j'essaie de visualiser mon site flash dans mon site web.Quand je clique sur l'icone index.html, l'affichage dans Firefox se f controleur du son [ par soussan ] sltj'ai une animation avec son que j'isere dans une calque et qui deroule durant tt  l'animation et j'ai un vidéo que j'insere dans la meme annimation if et else et autres [ par smile75 ] Salut j'ai une question concernant les conditions Je pense que c'est la condition if qu'il faut faire. Dans une anime j'aimerais qu'un bouton agisse deux onEnterFrame [ par whouu ] Bonjour a tous , jai un souci voici mon code : mc.onEnterFrame = function() { if (_root.A.hitTest(B)) {< collisions bourrines et coordonnées [ par kin4n ] Bonjour, je débute sous flash et j ai bien des misères à comprendre le systeme de parentage et d appel des hierarchies dans le code. Alors voici un co unload 1 variable avec 1 bouton [ par Flash2zeb ] Bonjour, j me prends la tete sur un truc depuis 1 h now, alor j pose ma question en esperant que qqn pourra m aider.J'ai insérer 1 galerie dans mon si bizzare une simple strucutre if [ par beninflash ] Bonjour à toutes et à tous.Je fais face à un probolème bizzare sur un test avec if  else if elseMon problème c'est que les test semblent marcher sur l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales