| |||||||
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 2005
Beiträge: 6
| Zeige Riotation - Eine spezielle Uhr
Hallo Zusammen, Mein erster Post hier im Forum, also verzeiht mir bitte wenn ich Fehler mache! Bin dabei ein Flash Uhr zu programmieren, bei sich die Zeiger am Anfang auf die richtige Uhrzeit einstellen (siehe breitling.com). Die Uhr ist fast fertig es hack nur noch an einer Stelle. Und zwar spielt die Uhr nach 6 Uhr oder 30 min verrückt. Hier der Quellcode in erster Frame : HTML-Code: time = new Date();
hours = time.getHours();
minutes = time.getMinutes();
seconds = time.getSeconds();
dt=time.getDate();
if (hours>12) {
hours = hours-12;
}
if (hours<1) {
hours = 12;
}
hours = hours*30+int(minutes/2);
minutes = minutes*6+int(seconds/10);
seconds = seconds*6;
dtx = dt; HTML-Code: onClipEvent (load) {
_root.hours;
}
onClipEvent (enterFrame) {
_rotation+= (_root.hours-this._rotation)/6;
}
__________________ ____________________________________________ PEOPLE LIKE US MAKE THINGS HAPPEN |
| | |
| | #2 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Willkommen im Forum ![]() Ich seh so im Code nix, was passieren könnte. Kannst du vielleicht mal das swf hochladen, so dass man sich ein Bild von "spielt total verrückt" machen kann?
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 6
|
ertmal danke für den hilfeversuch, hier kommt di swf. oh es ist 16 Uhr das Script funktioniert wenn ihr den fehler sehen wollt müsst ihr die zeit am rechner verstellen. ich habe die FLA & SWF hochgeladen
__________________ ____________________________________________ PEOPLE LIKE US MAKE THINGS HAPPEN Geändert von meyhom (20-11-2007 um 16:50 Uhr) |
| | |
| | #4 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Wie es scheint, ist _rotation (neuerdings?) auf den Bereich von -180 bis +180 begrenzt, und mit Zahlen zwischen -180 bis 0 geht deine Berechnung schief. Probiers mal mit sowas (am Beispiel für die Minuten) PHP-Code:
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 6
| Danke
Super... es funktioniert 1.000 Dank HAMMER - da wäre ich nie drauf gekommen - echt respect. Ich habe wircklich viele Stunden daran rumgeschraubt - ohne Erfolg. Ich werde die selbe Funktion jetzt auch für die Stunden benutzen.
__________________ ____________________________________________ PEOPLE LIKE US MAKE THINGS HAPPEN |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 6
| Schade Zu früh gefreut
Jetzt spielt der stundenzeiger bei 12 oder 24 Uhr verrückt und die zeiger, sollten sich nur im uhrzeigersinn drehen - kann das überhaupt funktionieren?
__________________ ____________________________________________ PEOPLE LIKE US MAKE THINGS HAPPEN |
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
nur im uhrzeigersinn drehen: // ziel berechnen ziel=x; // und dann loopen if (_rotation!=ziel) _rotation++; Code: // <-- stunden, minuten, sekunden
// --> stundenwinkel,minutenwinkel,sekundenwinkel
function fZeit2Zeigerwinkel(h, m, s) {
var secs = (h*3600+m*60+s)%86400;
s = secs%60;
var mins = Math.max(0, int((secs-s)/60));
m = mins%60;
h = Math.max(0, int((mins-m)/60))%24;
return [int((h*30)%360), int((m*6)%360), int((s*6)%360)];
}
//
var wAry = fZeit2Zeigerwinkel(25, 30, 15);
trace(wAry);
var wAry = fZeit2Zeigerwinkel(1, 30, 15);
trace(wAry);
var wAry = fZeit2Zeigerwinkel(0, 90, 15);
trace(wAry); // wenn die Zeiger von Marke zu Marke springen sollen + // wenn sich die Zeiger kontinuierlich bewegen sollen
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (20-11-2007 um 19:38 Uhr) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 6
|
super danke - ich verzeifele wirklich - da habe ich mich schon gefreut das das script jetzt funktioniert, stelle mein uhr am rechner auf 12:05 und siehe da die zeiger spielen wieder verrückt, wenn ich _root.hours trace steht der wert um 12 Uhr bei 389 mein stundenzeigen haben das script auf dem stundenzeiger: Code: onClipEvent (enterFrame) {
_rotation += (_root.hours-(_rotation + 360) % 360)/6;
}
__________________ ____________________________________________ PEOPLE LIKE US MAKE THINGS HAPPEN Geändert von meyhom (20-11-2007 um 19:07 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |