Pour créer un objet son afin de pouvoir l'utiliser, placer
le code ci-dessous sur la première image de la timeline si
vous voulez que la création de celui-ci se fasse automatiquement
ou dans le code rattaché à un bouton si vous préférez
que cette création se fasse lorsque l'utilisateur clique
sur un bouton.
mamontre= new Date();
Lire l'heure :
Lorsque vous avez crée votre objet, vous pouvez
faire appel à la méthode "getHours()"
pour connaître l'heure. Il existe également
les méthodes "getMinutes" et "getSeconds"
pour obtenir une heure plus précise.
Attention. Le code se complique un peu si vous souhaitez obtenir
une heure comme celle qui vous est présentée ci-dessus.
En effet, les minutes et les secondes peuvent présenter des
chiffres compris entre 0 et 9 pour les 10 premières secondes
ou 10 premières minutes. Lorsque vous utilisez la méthode
"getMinutes()" ou "getSeconds", Flash vous renvoie
1, 2, 3, etc et non 01, 02, 03, etc. Vous devez donc faire un petit
test qui complique le code. Avant d'aborder ce test, voici le code
le plus simple pour afficher l'heure sans les minutes :
Pour obtenir le jour (Lundi, mardi, etc...) et le mois (Janvier,
février, etc...), il n'existe pas de méthodes. Il
faut donc créer une liste et l'exploiter avec le résultat
des méthodes getDay() et getMonth().
Ces deux boutons exploitent des listes contenues sur la
première image :
mamontre=new Date();
jours=["Dimanche","Lundi","Mardi"..."Samedi"] mois=["Décembre","Janvier","Février","Mars"..."Novembre"]
les "..." sont à remplacer par les vrais
jours et mois.
Voici le code à placer sur un bouton pour obtenir le jour
ou le mois.
on (press) {
affiche=jours[mamontre.getDay()];
}
on (press) {
affiche=mois[mamontre.getMonth()];
}
Pourquoi cette syntaxe ?
Affiche : le nom de la variable dans laquelle le résultat
va s'inscrire.
jours[une valeur] : récupère une entrée
de la liste.
(La première entrée d'une liste porte le numéro
0).
mamontre.getDay() : Récupère le jour (0
à 6)
(0 : Dimanche,... 6 : Samedi)
jours[mamontre.getDay()] : Permet donc d'obtenir la énième
(obtenu par mamontre.getDay()) entrée de la liste jours
[...]
Créer une horloge - Où placer
le code pour récupérer l'heure ?
Le rafraîchissement de l'heure ! Si vous placez votre code
sur la première image de l'animation, au changement des minutes
et/ou des secondes l'affichage ne se rafraîchira pas. Vous
devez donc placer votre code sur ou dans un movie clip qui contient
au moins 2 images :
Placer un texte sur la scène
Régler le corps et la police
Sélectionner le mode "Texte Dynamique" dans
la palette "Option de texte"
Donner un nom à cette variable (sous le type "Texte
dynamique") (ex : affiche)
Sélectionner l'outil Flèche noire
Sélectionner la variable que vous venez de créer
sur la scène
Taper la touche de fonction F8
Donner un nom, conserver le type "Movie clip" et
valider
Double-cliquer sur l'occurrence de ce movie clip qui se trouve
sur la scène
Sélectionner l'image 2 de la timeline de ce movie clip
Le code est effectivement très simple mais comme vous pourrez
le constater, les minutes et secondes de votre horloge posent quelques
problèmes. Vous trouverez la solution ci-dessous.
Comment corriger les minutes et les secondes
?
Quel est le problème ? Si vous réalisez une horloge,
le code est simple mais pose problème pour les 10 premières
minutes et les 10 premières secondes. En effet, au lieu d'obtenir
9h02, vous obtiendrez 9h2. L'objet renvoie effectivement les minutes
sous la forme "2", "3", etc et non "02,
"03". Pour éviter ce problème, voici la
solution :