for Schleife unterbrechen bis Bedingung erfüllt

marian

Erfahrenes Mitglied
Hallo zusammen!
Ich versuche vergebens eine for schleife zu pausieren und erst wenn ein Bedingung ausgeführt ist soll die for schleife weiter lesen.

Mein denkansatz ist; eine if abfrage in einer onEnterFrame function.

PHP:
for (i=0; i<anzahl; i++) {
		nNumber = "bg"+i;
		var wartenGen = 0;
		this.onEnterFrame = function() {
			trace(wartenGen);
			wartenGen++;
			if (wartenGen == 4) {
				this.bg.attachMovie("bg", nNumber, +i);
				this.bg[nNumber]._x = 0;
				this.bg[nNumber]._y = i*(bgH+0.1);
				this.bg[nNumber].xmlName
dropDown_xml.firstChild.childNodes[i].attributes.nameXML;
				this.bg[nNumber].nr_txt = "3"+(i+1);
				this.bg[nNumber].name_txt =
dropDown_xml.firstChild.childNodes[i].attributes.label;
				// 
				this.bg[nNumber].onRelease = function() {
					for (i=0; i<anzahl; i++) {
						nNumber = "bg"+i;
						this._parent._parent.bg[nNumber].gotoAndPlay("back");
						if (i == dropDown_xml.firstChild.childNodes.length-1) {
							this.gotoAndPlay("press");
						}
					}
					loadXML(this.xmlName, posy);
					_root.song1.start();
				};
				// 
				this.bg[nNumber].onRollOver = function() {
					if (this.aktiv == 1) {
						this.gotoAndPlay("over");
						_root.song2.start();
					}
				};
				// 
				this.bg[nNumber].onRollOut = function() {
					if (this.aktiv == 1) {
						this.gotoAndPlay("out");
					}
				};
				delete this.onEnterFrame;
			}
		};
	}
}

Datic wo bist du ? ;)
 
Hi,

Also.... was für eine Bedingung soll denn erfüllt werden? In deinem Script gibts nur eine Bedingung die im onEnterFrame auf 4 hochgezählt wird und dann erfüllt is...

onEnterFrames in ner Schleife? Öhm... nein

Gruß,
Jens
 
du hast dein post neu editiert und da stand die lösung drin :D
bedingung ist ne andere war nur ein Beispiel!
Gruß
 
Aso, dann geht mein anderer Script vielleicht, kommt drauf an wie dus benutzt... eigentlich is der Script aber Bockmist :D Naja, wenns funktioniert
 
Hi,

Generell: In solchen Fällen verwendet man möglichst überhaupt keine Schleife, sondern lieber eine onEnterFrame-Methode (dort kannst ja auch eine Laufvariable inkrementieren), die ihre Arbeit eben nur auswührt, wenn besagte Bedingung erfüllt ist.

Längere Schleifen führen gerne mal zum Aufhängen des Players.

Gruß
.
 
Zurück