horloge flash

horloge flash - Infographie 2D - Graphisme

Marsh Posté le 11-11-2006 à 10:44:55    

salut tout le monde. voilà j'aimerais créer une horloge mais qui a son propre écoulement du temps...
j'aimerais en fait que 24h fasse 2 semaines. et que l'heure passe comme une vraie horloge mais avec son propre temps...je sias pas si c'est possible sous flash mais bon je demande ^^
bien entendu elle serait infini
et si possible si elle pouvait comptabiliser les jours aussi  :)  
voilà, merci d'avance

Reply

Marsh Posté le 11-11-2006 à 10:44:55   

Reply

Marsh Posté le 11-11-2006 à 14:30:54    

bien sur que c'est possible, c'est juste une histoire de calcul!
 
essaye d'abord de faire tes calculs (tout est une question d'angle :D )

Reply

Marsh Posté le 11-11-2006 à 16:03:19    

C'est des maths tous simples... Après si c'est un problème de programmation flash, c'est autre chose...

Reply

Marsh Posté le 11-11-2006 à 16:05:25    

bah ouais c'est plus pour le code flash...enfin je dis flash parce que je connais un peu le logiciel mais si il y a une autre manière...
tout ce que je veux c'est une horloge où un jour dur 2 semaines...voilà. ^^

Reply

Marsh Posté le 11-11-2006 à 16:28:26    

drapal...


---------------
Achats/Vente - Feed
Reply

Marsh Posté le 11-11-2006 à 17:02:13    

drapal?

Reply

Marsh Posté le 11-11-2006 à 18:49:56    

Voici un code que j'ai fait pour un chrono. C'est du procédurale basique et pas très propre mais j'espère que ça t'aidera.
Là c'est du temps réel. Après à toi de changer les paramétres pour le ralentir.
 

Code :
  1. var k:Number = 0;
  2. // temp depuis lequel le SWF est lancé
  3. var real_time = getTimer();
  4. var myformat2:TextFormat = new TextFormat();
  5. myformat2.font = "Arial";
  6. myformat2.size = 10;
  7. myformat2.color = 0xCCCCCC;
  8. this.createTextField("timer_txt", getNextHighestDepth(), 25, 25, 0, 0);
  9. this.timer_txt.autoSize = "left";
  10. this.timer_txt.background = false;
  11. this.timer_txt.selectable = false;
  12. this.timer_txt.border = true;
  13. this.timer_txt.borderColor = 0xCCCCCC;
  14. function updateTimer():Void {
  15. // Limite du chrono en minute
  16. var timeLimit:Number = 10;
  17. var time_ms = getTimer();
  18. // temp depuis lequel le chrono est lancé
  19. var time_ms = time_ms-real_time;
  20. var my_str:String = new String(time_ms);
  21. var seconde:String = "1000";
  22. // Pour avoir le temp en secondes
  23. var temp = my_str/seconde;
  24. var minute:String = "60";
  25. var temp = temp-(minute*k);
  26. // toute les 60 secondes on incrémente une minute
  27. if (temp>=minute) {
  28.  k++;
  29. }
  30. // pour afficher les unités des secondes avec un zéro avant.  
  31. if (temp<=10) {
  32.  var temp = "0"+temp;
  33. }
  34. // quand la limite est atteinte on lance une action  
  35. if (k>=timeLimit) {
  36.  clearInterval(intervalID);
  37. }
  38. var mySubstring:String = new String(temp);
  39. _root.timer_txt.text = k+" : "+mySubstring.substr(0, 2);
  40. _root.timer_txt.setTextFormat(myformat2);
  41. }
  42. var intervalID:Number = setInterval(updateTimer, 100);

Reply

Marsh Posté le 11-11-2006 à 19:11:47    

ta demande est pas très précise, tu veux un chrono ou une horloge ?
- un chrono : pas persistant d'un client à l'autre, démarre à une valeur T et continue jusqu'à ce que le client ferme sa fenêtre (ou reloade la page). Si le client reloade la page, le chrono redémarre à la valeur T.
- une horloge : persistante d'un client à l'autre, l'heure affichée est identique pour tous les clients, s'écoule réellement entre deux navigations, si le client reloade la page, il obtient toujours l'heure de l'horloge.
 
sinon zedlefou, y'a un objet Date dans Flash, avec des méthodes getSeconds et getMinutes ... ça diminuerait la longueur de ton code d'environ 20 lignes, soit 50% :D Il y a exemple d'horloge avec un code d'une perfection presque vicieuse dans Essential Actionscript 2.0/Colin Moock/O'Reilly


Message édité par craps_youpla le 11-11-2006 à 19:13:58
Reply

Marsh Posté le 11-11-2006 à 20:11:05    

merci déjà à vous, je précise que j'y connais pas grand chose en code :D
craps_youpla : oui, moi ce qu'il me faut c'est une horloge, même heure pour tout le monde, qui s'écoule entre 2 navigations etc...
si tu peux me dire comment faire ça serait très sympa ^^ (si possible un vrai tuto, pas juste du code ^^)
merci d'avance

Reply

Marsh Posté le 11-11-2006 à 21:10:30    

Citation :

si tu peux me dire comment faire ça serait très sympa ^^


 
s'il doit y avoir une persistence, tu dois forcément utiliser un langage côté serveur pour récupérer l'heure courante du serveur, sinon tous tes clients auront une valeur différente. tu devras récupérer l'heure du serveur dans ton swf (via LoadVars/XML/Remoting+AMFPHP, au choix).
 
le flash sert juste à l'affichage : objet Date créé à partir du timestamp du serveur, méthods getHours, getSeconds et getMinutes. Pour faire tourner tes aiguilles, décentre le regpoint du clip de l'aiguille vers son axe de rotation voulu et utilise la propriété _rotation, le tick étant donné via un setInterval. Pour convertir la valeur horaire en angle de rotation, tu fais un produit en croix ...  
 

Citation :

(si possible un vrai tuto, pas juste du code ^^)


désolé, je fais pas de menu-enfants.

Citation :

je précise que j'y connais pas grand chose en code


pourquoi tu veux faire ça toi-même, alors ?

Reply

Marsh Posté le 11-11-2006 à 21:10:30   

Reply

Marsh Posté le 11-11-2006 à 22:54:58    

"désolé, je fais pas de menu-enfants. "
ça a le mérite d'être clair..
je veux le faire moi même pour essayer de comprendre...mais si on m'explique pas je risque de sérieusement en chié...
 
"pourquoi tu veux faire ça toi-même, alors ?"
mais ma foi si tu veux me le faire moi y'a pa de blem.
 
pis pas besoin d'aiguilles, juste des chiffres, je vais au plus simple.  
 
y'a pas un moyen de faire une horloge de base (heures, minutes) en chiffres, avec pour écoulement du temps 1 journée = 2 semaines, qui tourne en continue et infiniment, qui ne se rénitialise pas à chaque connection sur la page, que tout le monde est la même heure?
parce que là pour l'instant c'est un peu du chinois...

Reply

Marsh Posté le 13-11-2006 à 20:18:25    

Bah si, tu le fais en PHP et tu l'importes dans Flash. (reload toutes les secondes, c'est ta bande passante qui va être contente)
Sinon tu passes par un serveur Flash comme le dit Craps mais là c'est même pas la peine.
 
Craps : merci, je vais voir ça de près ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed