- Introduction
- Apprendre Flash 5 pas à pas
- Symboles et Occurrences
- Techniques
- Programmer dans Flash 5
-
Actions (Bases)
- Actions (Niveau intermédiaire)
- Actions (Fonctions avancées
)
- Variables
- Fonctions
- Objets
- Flash 4 (Archives)

 

 

Les objets > L'objet "Date">

Créer l'objet :

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.

Télécharger le fichier .fla - Mac - PC

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 :

affiche=mamontre.getHours() + ":" + mamontre.getMinutes();

La méthode "getHours" renvoie l'heure de l'objet "mamontre" pour la placer dans la variable "affiche".

Lire la date :

N'oubliez pas de créer votre objet. Dans le cas ci-contre, voici le code situé sur la première image :

mamontre=new Date();

C'est tout.

Ensuite, vous pouvez placer le code suivant sur un bouton :

on (press) {
affiche=mamontre.getMonth();
}

Télécharger le fichier .fla - Mac - PC

 

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.

Télécharger le fichier .fla - Mac - PC

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 :

  1. Placer un texte sur la scène
  2. Régler le corps et la police
  3. Sélectionner le mode "Texte Dynamique" dans la palette "Option de texte"
  4. Donner un nom à cette variable (sous le type "Texte dynamique") (ex : affiche)
  5. Sélectionner l'outil Flèche noire
  6. Sélectionner la variable que vous venez de créer sur la scène
  7. Taper la touche de fonction F8
  8. Donner un nom, conserver le type "Movie clip" et valider
  9. Double-cliquer sur l'occurrence de ce movie clip qui se trouve sur la scène
  10. Sélectionner l'image 2 de la timeline de ce movie clip
  11. Taper F6 afin de créer une nouvelle image
  12. Taper le code ci-dessous sur l'image 1

heure = new Date();
heures = heure.getHours();
minutes = heure.getMinutes();
secondes = heure.getSeconds();
affiche= heures add ":" add minutes add ":" add secondes;

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 :

heure = new Date();
heures = heure.getHours();
minutes = heure.getMinutes();
secondes = heure.getSeconds();
change = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09"];
for (i=0; i<=9; i++) {
if (secondes == i) {
secondes = change[i]; break;
}
}
for (i=0; i<=9; i++) {
if (minutes == i) {
minutes = change[i];
break;
}
}
affiche = heures add ":" add minutes add ":" add secondes;

 

Télécharger le fichier .fla
Mac - PC

Télécharger le fichier .fla
Mac - PC

Télécharger le fichier .fla
Mac - PC

 

 

 

 

 

 

< Sommaire