Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-08-2011, 18:59   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2009
Beiträge: 27
Intervallschritte des Countdown variieren

Hallo ihr Lieben,
Bin derzeit an einem Flash-Projekt (Ein kleines Spiel).
Dort habe ich für einen Level einen Countdown eingesetzt, der 20 Sekunden runterzählt. Das klappt auch ganz toll beim ersten Mal.
Wenn die Zeit abgelaufen ist, kann ich es aber nochmal versuchen und springe nochmal auf denselben Frame zurück. Diesmal springt der Countdown aber direkt um 2 nach unten, anstatt um 1. Beim dritten mal sogar um 3.

Hier mal mein Countdown:
Code:
//*******TIMER ERSTELLUNG*******//
sec = Sekunden; //_global.Sekunden = 20; <- Weniger je höher das Level
setInterval (countDown, 1000)
function countDown() {
 sec--;
 if (sec < 10) { //9 -> 09, 8 -> 08, ...
  sec = "0" + sec;
 }
 if (sec == 0) { //Wenn die Zeit abgelaufen ist, ziehe ein Leben ab und gehe zu Fr. 5 oder starte neu bei 0 Leben
	 if(MyLeben1==1){
		 MyLeben1=0;
	 }else{
		 if(MyLeben2==1){
			 MyLeben2=0;
		 }else{
			 if(MyLeben3==1){
				 MyLeben3=0;
			 }else{
				 gotoAndPlay(1);
			 }
		 }
	 }
	gotoAndPlay(5);
 }
timer_display.text = sec; //Darstellung der Zeit
}
Liegt an setIntervall? Hoffe ihr könnt mir helfen
flashfreak81 ist offline   Mit Zitat antworten
Alt 02-08-2011, 19:10   #2 (permalink)
i ate pixels
 
Benutzerbild von pixelslave
 
Registriert seit: Mar 2004
Ort: Augsburg
Beiträge: 527
Ja deine Vermutung war richtig.
Du musst den Interval beendenen, ansonsten wird dieser weiter ausgeführt, sobald die Sekunden wieder auf einen höheren Wert gestellt werden.

Schau mal nach clearInterval() und setInterval()
Ich hab die Syntax leider gerade nicht vollständig im kopf aber du musst deinen Interval in einer Variable speichern und anhand dieser Variable kannst du dann den Interval beendent
pixelslave ist gerade online   Mit Zitat antworten
Alt 02-08-2011, 19:30   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2009
Beiträge: 27
Zitat:
Zitat von pixelslave Beitrag anzeigen
Ja deine Vermutung war richtig.
Du musst den Interval beendenen, ansonsten wird dieser weiter ausgeführt, sobald die Sekunden wieder auf einen höheren Wert gestellt werden.

Schau mal nach clearInterval() und setInterval()
Ich hab die Syntax leider gerade nicht vollständig im kopf aber du musst deinen Interval in einer Variable speichern und anhand dieser Variable kannst du dann den Interval beendent
Super! Hat funktioniert. Danke für die schnelle Hilfe

Für die, die das selbe Problem haben:
Code:
var TimerInterval = setInterval (countDown, 1000);
clearInterval(TimerInterval);
flashfreak81 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mauszeiger variieren Rocko HTML und CSS 4 03-10-2006 18:50
Container Größe variieren sue007 Flash MX 2004 5 06-12-2005 11:05
zeit variieren bei setInterval rok°! ActionScript 1 10 04-01-2005 13:06
Bewegungsgeschwindigkeit variieren simmerl ActionScript 1 1 08-06-2003 12:13
geschwindigkeit des films variieren divina Flash 4 und Flash 5 3 18-12-2002 14:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele