Kleiner Tipp:
esLauft=(esLauft==0?1:0);
bezweckt das selbe wie
esLauft = !esLauft;
Wenn man nur 0 und 1 nimmt sind bool'sche Ausdrücke normalen Number-Variablen vorzuziehen - die nehmen auch viel viel weniger Speicher in kauf und sind einfacher zu benutzen. if(eslauft == 1) wird zu if(eslauft) und if(eslauft == 0) wird zu if(!eslauft) usw. So kann vieles vereinfacht und besser gemacht werden.
Zu dem hier:
|
Code:
|
startStop.onEnterFrame = function ():Void {
if (esLauft == 0) {
sek_chrono._rotation += 0.25;
startStop.gotoAndStop (2);
}
};
|
Je nach Leistung des PCs vergehen Sekunden mit diesem Code langsamer oder schneller, da "Frames" nicht wirklich für voll genommen werden können. Die werden sehr schwankend dargestellt, mal sindes 24fps, mal nur 13 wenn der Computer nebenbei noch irgendwas anderes macht. Ihr bewegt zwar schon den Zeiger, nur halt nicht entsprechend der vergangenen Zeit. Das ist nicht so gut.
Ihr solltet irgendwo schon wirkliche Zeiten in euren Codes verwenden, sei es nun über ein Date oder Timer-Objekt oder über einen Interval. Im Anhang hab ich mal ein Beispiel angehängt, das die Date-Klasse verwendet. Wie angekündigt aber nur für den Sekunden-Zeiger. Minutenzeiger geht aber analog, nur halt 1/60 so schnell.