eine etwas andere uhr mit flashs

VikkoN

Mitglied
hi leute!
also da ich langes reden nicht mag, fang ich sorfort mit meiner frage an!

ich möchte eine uhr mit flash erstellen, doch der zeiger soll nicht wie bei einer normalen uhr ticken, sondern (wie bei den teueren schweizeruhren) gleiten.

ich hoffe ihr könnt mir helfen...

danke schöne im voraus :p
 
hi,
hier das prinzip anhand des sekundenzeigers ... auf dessen movieclip:
PHP:
onClipEvent (load) {
	mydate = new Date();
	oldrot = mydate.getSeconds()*6;
	_rotation = oldRot;
}
onClipEvent (enterFrame) {
	mydate = new Date();
	newRot = mydate.getSeconds()*6;
	if (newRot>oldRot) {
		oldRot += 1;
		_rotation = oldRot;
	//abfangen der sekunde vor zwölf, wenn newrot 0 ist
	} else if ((newRot==0)&&(oldRot>=354)&&(oldRot<360)){
		oldRot += 1;
		_rotation = oldRot;
	}else{
		oldRot = newRot;
	}
}

minuten und stunden dann analog dazu und den jeweiligen faktor sowie das abfangen entsprechend anpassen. das abfangen der zeit "vor zwölf" geht sicher noch eleganter aber für viel mathe ist's jetzt schon zu spät ;)

viel spaß
gruß
rena
 
noch nicht ganz...

hey, danke!

es ist schon eher was ich suche, aber noch nicht ganz das was ich meinte... der zeiger soll ohne stoppen immer weiter gehen. das wäre ideal!

aber trotzdem danke für das was du schon geschickt hast

greetz :rolleyes:
 
ach so - da siehste mal, kann mir teure schweizer uhren nicht leisten ;)

da würde ich mit getTimer() arbeiten, der die vergangene zeit zu der ausgangsrotation hinzurechnet.
wieder als beispiel auf dem sekundenzeiger
PHP:
onClipEvent (load) {
	mydate = new Date();
	startRot = mydate.getSeconds()*6;
	startTime = getTimer()/1000;
	_rotation = startRot;
}
onClipEvent (enterFrame) {
	_rotation = startRot+(getTimer()/1000-startTime)*6;
}
sollte so oder ähnlich funktionieren.

gruß
rena
 
Zuletzt bearbeitet:
und noch ne frage...

danke das funzt super! aber ich bekomme das nicht raus wies bei stunden und minuten zeigern aussieht (im script) wenn du noch bitte das zuschicken würdest wäre das absolut cool!

greetz:rolleyes:
 
hehe - du bist lustig. ich setz mich bestimmt nicht vor den rechner und teste den stundenzeiger, ob er in einer stunde dort angekommen ist, wo er soll ;)

ich denk mal so -siehe kommentare - aus dem bauch heraus. testen mußt selbst
PHP:
onClipEvent (load) {
	mydate = new Date();
	startRot = mydate.getSeconds()*6;//min: getMinutes()*6, h: gethours()*15 (glaub ich)
	startTime = getTimer()/1000;//min: getTimer()/1000/60, h: getTimer()/1000/60/60
	_rotation = startRot;
}
onClipEvent (enterFrame) {
	_rotation = startRot+(getTimer()/1000-startTime)*6;//min: auch *6, h: *15 (glaub ich)
}
ansonsten ausrechnen: getTimer "zählt" die zeit in tausendstel sekunden.

gruß
rena

ps:irgendwo wird die grenze sein, was der monitor anzeigen kann. es mag also sein, dass der stundenzeiger 'ne weile steht und dann um ein pixelchen (abhängig von den bildschirmpunkten) vorrückt ...
 
Zuletzt bearbeitet:
Zurück