slagt
Messages postés
232
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 mars 2011
22 sept. 2005 à 23:00
Voilà !
Exporté en Flash 5 ça fonctionne, donc je suppose qu'il ne devrait pas y avoir de problème !
À noter qu'il faut que tu créer un clip avec pour nom de liaison : "case", et dedans (exemple) :
Sur la première frame : un carré de 20*20, bordure filet : #CCCCCC, fond : #FFFFFF (_x:0, _y:0)
Sur la deuxième frame : un carré de 20*20, bordure filet : #CCCCCC, fond : #F5F5F5 (_x:0, _y:0)
Sur la troisième frame : un carré de 20*20, bordure filet : #333333, fond : #FF0000 (_x:0, _y:0)
Sur un autre calque, une frame qui s'étend sur les 3 frames de ton clips :
Un champs de texte :
Police : "Helvetica"
Taille : 12
Couleur : #000000
Var : txt
_x : 0
_y : 3.1
_width : 20
_height : 16.3
Alors ne créer pas tout ça dynamiquement, fait le manuellement. Pour le
champs de texte, pour avoir la largeur et la hauteur qu'il faut tu
devras zommer à 2000% et bouger un tout petit peu la taille pour
obtenir la bonne. Si tu change directement dans "Propriétés" ça va
agrandir la largeur/hauteur de ton texte.
// DEBUT DU CODE //
var Dates = new Date(); // On créer un objet Dates
jS Dates.getDay(); // On récupère le jour de la Semaine (auj. Jeudi 4)
jM = Dates.getDate(); // Et le jour du Mois (auj. le 22)
jour = jS - 1; // Ce bout de code va récupérer le premier jour du mois
for (var i=0; i<jM; i++) // On raisonne comme le ferais un humain lambda !
{
if (jour == 0) // Si on arrive au Lundi, on recommence au Dimanche (pas exactement mais le résultat est là)
jour = 7;
// 7 est en réalité le jour juste après Dimanche s'il y en avait un...
jour --;
// On enlève 1. Donc si on a 7, on retrouve 6, qui est... Dimanche !
// Pour ce mois-ci, ça donnera Jeudi (3)
}
mois = Dates.getMonth(); // On chope le mois (auj. le 8 (ça commence à 0) pour Septembre)
annee = Dates.getYear(); // Récupère le nombre d'année passé depuis 1900
// Le bout suivant définit le tableau des mois
(durée des jours) de différente façon si on est en année bisextile ou
non. Comme 1900 est divisible par 4, on a pas besoin d'ajouter à
"annee" la valeur de 1900 //
if (annee%4==0)
{
tMois = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 29 jours pour Février
}
else
{
tMois = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 28 jours pour Février
}
n = 0; // Ca c'est le nombre qui sera écrit dans les cases.
tJour = ["L", "Ma", "Me", "J", "V", "S", "D"]; // Les abréviations à mettre sur la première ligne
// On aura besoin de 49 cases. 7 pour les
initiales des jours, et 42 pour les chiffres. Si jamais le mois
commence un Dimanche, et qu'il y a 31 ou 30 jours, alors on aura besoin
de la dernière ligne. //
for (var i=0; i<49; i++)
{
this.attachMovie ("case", "case" + i, i); // On attache la case
this["case"+i]._x = (i%7) * this["case"+i]._width + (150 - 7*20)/2; // Position sur X en fonction de la largeur
this["case"+i]._y = Math.floor(i/7) * this["case"+i]._height + (150 - 7*20)/2; // Position sur Y en fonction de la hauteur
this["case"+i].stop(); // On arrête les cases sur la première frame
if (i < 7) // Si on est sur la première ligne
{
this["case"+i].txt = tJour[i];
}
else if (i >= 7 && i <= 7+jour) // Si on est sur les premiers jours de la semaine qui appartiennent au mois d'avant
{
this["case"+i].txt = "";
}
else
{
if (n > tMois[mois]) // Si n est plus grand que le nombre de jour
{
this["case"+i].txt = ""; // On affiche plus rien
}
else
{
this["case"+i].txt = ++n; // Sinon on incrémente n de 1 et on l'affiche dans la case
if (n
< jM)
// Si n est plus petit que le jour du mois actuel
this["case"+i].gotoAndStop (2);
else if (n jM) // Si n aujourd'hui
this["case"+i].gotoAndStop (3);
}
}
}
// Cette partie te donne juste dans une variable dateComplete, la date complète sous la forme : Jeudi 22 Septembre //
tcJour = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"];
tcMois = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"];
if (jM < 10)
jM = "0" + jM;
dateComplete = tcJour[jS] + " " + jM + " " + tcMois[mois];
// FIN DU CODE //
Tout devrais rouler sans problème avec ça :)