| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 25
| Countdown Genauigkeit
Hellas. Ich werde einen Countdown bauen. Sehr ähnlich dem, den ich hier anhängen werde. Ich würde sogar sagen sehr ähnlich. ![]() Weil der allerdings einen Countdown von mehreren Wochen durcharbeiten wird, sorge ich mich ein bisschen um die Genauigkeit. Sprich: Kann ich drauf gehen, dass der dann wirklich auf die gewünschte Sekunde bei Null steht, oder gibts Aussetzer o.ä. Hat da jemand Erfahrung oder eine fachmännische Meinung? Thänks. + Gruss |
| | |
| | #2 (permalink) |
| Flash... Registriert seit: Dec 2005 Ort: Österreich
Beiträge: 961
|
joah müsste so ziemlich genau sein, hab mir die datei nicht angesehen. Wenn du aber die Zeit mit new Date() blablabla holst, kann derr User einfach seine Systemzeit ändern und schwupss Countdown ist bei 0. Mit PHP kannst du die Serverzeit holen.. die müsstest du dann mit Flash einlesen...
__________________ :: Maske an Führungspfad entlanglaufen lassen - Beispieldateien :: Textdatei auslesen und durch Trennungszeichen in mehrere Strings splitten [STUFF]: Preloader [TUTORIAL]: Skalierung und Ausrichtung von MCs Geändert von Scheidlf (14-07-2006 um 08:39 Uhr) |
| | |
| | #3 (permalink) |
| Flashworker Registriert seit: Nov 2001 Ort: Wiesbaden
Beiträge: 10.945
|
Lol, sorry, aber die Frage ist lustig. Du gehst davon aus, dass du auf "Go" klickst und dann ein echter Countdown in der Datei gestartet wird ![]() Das ganze orientiert sich an der Systemzeit des Users und wenn du die Datei ein zweites mal aufrufst, ist der Countdown auch weg ![]() Und für andere User sowieso nicht der gleiche. (Vorrausgesetzt du nimmst genau diese Datei usw.) Oder willst du das Ding dauerhaft auf einer Messe o.ä. laufen lassen? lg Geändert von sebastian (14-07-2006 um 08:38 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 25
|
Genau. Die Applikation wird nur auf einem Computer laufen. Von daher ist die Systemzeit dieses Computers absolut ausreichend. Aber eben. Einzig die Genauigkeit ist hier die Frage. Und vielleicht hat ja jemadn schon so einen Countdown über mehrere Wochen laufen lassen und Probleme oder eben auch keine erlebt...? |
| | |
| | #5 (permalink) |
| Flash... Registriert seit: Dec 2005 Ort: Österreich
Beiträge: 961
|
Wird diese Flash anwendung mehrere Wochen durchgehend laufen?
__________________ :: Maske an Führungspfad entlanglaufen lassen - Beispieldateien :: Textdatei auslesen und durch Trennungszeichen in mehrere Strings splitten [STUFF]: Preloader [TUTORIAL]: Skalierung und Ausrichtung von MCs |
| | |
| | #9 (permalink) |
| relayit.de Registriert seit: Sep 2001
Beiträge: 427
|
warum machst dus dir so schwer? in der datumsberechnung nutzt man fast immer die millisekunden seit dem 1.1.1970. jedes Datum hat also einen fixen Wert an X vergangenen millisekunden seit 1970. wenn du nun zwei Daten in Millisekunden hast und die Differenz daraus bildest, hast du die Anzahl von Millisekunden, die zwischen diesen beiden Daten liegt. Flash unterstuetzt das natuerlich. Der Rückgabewert von Date ist naemlich genau dieser Wert: Millisekunden seit 1970. insofern kannst du Date1 - Date2 schreiben und bekommst als Ergebnis die Zeit dazwischen zurueck. Diese Zeit nutzt du, um dein Darstellungsobjekt (der Countdown) zu updaten mittels setTime(). Code: _root.zero = new Date(2007,11,10,23,20,0,0);
_root.count = new Date(0,0,0);
_root.onEnterFrame = function(){
var current:Date = new Date();
_root.count.setTime(_root.zero - current);
} count ist das Datum, was dargestellt werden soll. Und in der onEnterFrame-funktion wird count staendig aktualisiert, indem ich das aktuelle Datum (current) von dem Enddatum (zero) abziehe und tadaaaa, ich hab die Anzahl der Millisekunden zwischen den beiden Daten. count ist natuerlich weiterhin ein Datumsobjekt, d.h. du kannst Tage, Jahre, etc. voneinander getrennt auslesen, und das auf die millisekunde genau. oder hab ich die frage missverstanden? ![]() Edit: aussetzer sollte es keine geben (jedenfalls nicht bis 2038), da dieser zeitstempel sozusagen die basis fuer fast alle Datumssachen ist vgl.: http://de.wikipedia.org/wiki/Unixzeit
__________________ hmmm..... Geändert von japanitrat (02-04-2007 um 18:25 Uhr) |
| | |
| | #10 (permalink) | |
| Neuer User Registriert seit: Dec 2003
Beiträge: 152
| Zitat:
z.B. der Februar hat nur 28 Tage. Wenn ich mit deinem Skript, vom 2.Februar bis zum 1.März zähle, spuckt er mit 30 Resttage aus. Wie kann man das vermeiden?
__________________ Seien wir realistisch, versuchen wir das Unmögliche. | |
| | |
| | #11 (permalink) |
| relayit.de Registriert seit: Sep 2001
Beiträge: 427
|
echt? bei mir nicht. hast du daran gedacht, dass das Date-Objekt Monate von 0 (Januar) bis 11 (Dezember) zählt, anstatt von 1 bis 12? Code: _root.zero = new Date(2007,2,1,23,20,0,0); //1. März _root.from = new Date(2007,1,2,23,20,0,0); //2. Feb trace(new Date(zero-from));
__________________ hmmm..... Geändert von japanitrat (20-04-2007 um 17:08 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |