Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-11-2007, 14:08   #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;
Der Code auf dem Stundenzeiger:
HTML-Code:
onClipEvent (load) {
_root.hours;
}

onClipEvent (enterFrame) {
_rotation+= (_root.hours-this._rotation)/6;
}
Ich habe wircklich sehr viel versucht - aber ich komme nicht da hinter.
__________________
____________________________________________
PEOPLE LIKE US MAKE THINGS HAPPEN
meyhom ist offline   Mit Zitat antworten
Alt 20-11-2007, 14:24   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
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!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 20-11-2007, 14:33   #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)
meyhom ist offline   Mit Zitat antworten
Alt 20-11-2007, 14:48   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
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:
_rotation += (_root.minutes-(_rotation 360) % 360)/6
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 20-11-2007, 15:05   #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
meyhom ist offline   Mit Zitat antworten
Alt 20-11-2007, 15:34   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 6
Uhrzeigersinn?

könnte man die Zeiger wohl auch nur im Uhrzeigersinn
laufen lassen?
__________________
____________________________________________
PEOPLE LIKE US MAKE THINGS HAPPEN
meyhom ist offline   Mit Zitat antworten
Alt 20-11-2007, 16:43   #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
meyhom ist offline   Mit Zitat antworten
Alt 20-11-2007, 18:33   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
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);
http://www.seibsprogrammladen.de/fra...gorithmen/Date
// 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)
hgseib ist offline   Mit Zitat antworten
Alt 20-11-2007, 19:02   #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)
meyhom ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele