Sujet : Horloge analogique.
Aucun commentaire enregistré pour ce sujet.
1
- Bonjour,
j'apprends le flash depuis quelques mois et j'utilise la version CS3.
Je souhaite faire des horloges, mais hélas une seule a fonctionné et je ne me souvient plus de tout
J'ai donc lu votre tuto sur ce sujet, mais mes aiguilles refusent obstinément de tourner
Voici le .fla : http://www.archive-host2.com/membres/up/1529609033/Test-attente/horlnar.rar
afin que vous puissiez me dire ou est mon erreur...
D'avance merci pour vos réponses. - Salut Nightwolf,
Je ne parviens pas à ouvrir ton fichier auteur car j'utilise encore la version 8 de Flash... #H5
Mais on peut tout de même essayer de trouver ce qui cloche : bien souvent ce genre de problème vient de l'attribution des noms de variables des éléments
Tu dois attribuer un nom de variable différent pour chaque aiguille de ton horloge comme tu peux le voir sur la 2éme image de l'étape 4 du tutorial "horloge analogique"
Voici comment ces noms de variables sont ensuite utilisés dans le script :
// Affichage des secondes
_root.horloge.sec._rotation = secondes*6;
// Affichage des minutes
_root.horloge.min._rotation = minutes*6;
// Affichage de l'heure
if (heures <= 12) _root.horloge.heur._rotation = heures*30;
else _root.horloge.heur._rotation = (heures-12)*30;
Dans le même ordre d'idée il ne faut pas oublier le nom de variable de l'élément de base (dans notre tuto : le disque bleu Cf image 1 de l'étape 2) car celui-ci est utilisé dans le chemin des aiguilles :
// Affichage des secondes
_root.horloge.sec._rotation = secondes*6;
// Affichage des minutes
_root.horloge.min._rotation = minutes*6;
// Affichage de l'heure
if (heures <= 12) _root.horloge.heur._rotation = heures*30;
else _root.horloge.heur._rotation = (heures-12)*30;
Si tu rencontres toujours ce problème n'hésites pas à nous apporter plus de précisions
Tu peux également enregistrer ton fichier auteur au format Flash 8 (comme ça je pourrai y jeter un oeil)
Bon courage
- [cit=Netger]
Tu peux également enregistrer ton fichier auteur au format Flash 8 (comme ça je pourrai y jeter un oeil)
Bon courage
[/cit]
Voilà qui est fait...
http://anonyme.archive-host.com/horlnar_2ffgo44djs.rar - Désolé mais je ne peux pas t'aider avec le fichier de publication (SWF) : c'est le fichier auteur (FLA) que tu dois enregistrer au format Flash 8
Tu fait "Fichier" -> "enregistrer sous..." puis tu change le type en "Document Flash 8"
MOI
Mais où ai-je la tête ! ! ! GRRRRRRRRRRR!
Désolé, voici le lien :
http://anonyme.archive-host.com/horlnar_sjeq6ax03a.rar- Pas grave ça peut arriver à tout le monde
Pour ton probléme d'horloge c'est donc lié au noms d'occurences des symboles des aiguilles; Tu les as appelées : "Hours", "Minutes" et "Seconds" -> il faut donc utiliser ces noms dans le script.
Voici ce que cela doit donner :
onClipEvent (enterFrame)
{
var heure = new Date();
var secondes = heure.getSeconds();
var minutes = heure.getMinutes();
var heures = heure.getHours();
_root.horloge.Seconds._rotation = secondes*6;
_root.horloge.Minutes._rotation = minutes*6;
if (heures<=12) _root.horloge.Hours._rotation = heures*30;
else _root.horloge.Hours._rotation = (heures-12)*30;
}
J'ai testé le script et ça fonctionne nickel (en plus l'horloge est trés jolie
) - [cit=Netger]
J'ai testé le script et ça fonctionne nickel (en plus l'horloge est trés jolie
)[/cit]
Merci pour le compliment
Merci pour l'aide
- Pas de quoi
Si tu as d'autres soucis ou d'autres questions n'hésites pas
- Bon alors je ne veux pas paraître chiant, mais aujourd'hui mon horloge indique l'heure, mais pas la bonne
A 15H16 elle indique 12H30...
Que puis-je y faire?
D'avance merci. - Ha oui c'est vrai j'avais oublié
Dans ton fichier auteur (FLA) les aiguilles de l'horloge sont par défaut sur 9h15 : tu dois les mettre à 12h00 pour que l'horloge fonctionne correctement
- Merci pour toute l'aide apporté précédement
Je souhaiterai améliorer le script pour que l'aiguille des secondes tourne en continu et non par à coups...
Comment puis-je faire
D'avance merci pour vos réponses.
Cordialement. - Personne ne sait...? #F9
- Salut Nightwolf,
Désolé de ne pas t'avoir répondu plus tôt ... je n'avais pas le net le semaine dernière #H5
Je n'ai encore jamais essayé de produire un mouvement continu pour l'aiguille des secondes mais je vais faire quelques tests et je te tiens au courant
- [cit=Netger]Salut Nightwolf,
Désolé de ne pas t'avoir répondu plus tôt ... je n'avais pas le net le semaine dernière #H5
Je n'ai encore jamais essayé de produire un mouvement continu pour l'aiguille des secondes mais je vais faire quelques tests et je te tiens au courant
[/cit]
Merci beaucoup !
- Je n'ai pas encore eu le temps de me pencher sur le problème... mais je n'oublie pas
- Salut Nightwolf,
donc pour faire un mouvement continue de la trotteuse (l'aiguille des secondes) j'ai utilisé la fonction getMilliseconds().
Cela permet d'obtenir des points d'arrêts supplémentaires entre chaque secondes et ainsi de donner l'apparence d'un mouvement continu.
Voici le nouveau code :
Code-source
onClipEvent (enterFrame) {
var heure = new Date();
var millisec = (heure.getMilliseconds())/1000;
var secondes = heure.getSeconds();
var minutes = heure.getMinutes();
var heures = heure.getHours();
_root.horloge.SECONDE._rotation = (secondes+millisec)*6;
_root.horloge.MINUTE._rotation = minutes*6;
if (heures<=12) {
_root.horloge.HEURE._rotation = heures*30;
} else {
_root.horloge.HEURE._rotation = (heures-12)*30;
}
}
- Merci c'est super cool ! ! !
1
Identification requise
Vous devez être identifié pour pouvoir participer à cette discussion.



