Callback & Listener ?

Grafixboy

Erfahrenes Mitglied
Hallo Flashscripter

habe folgendes Problem:

Habe einen MC-Button "mc" der zwei funktionen in Gang setzt, dies tut er auch.
allerdings soll er erst die 1. Funktion beenden und dann die 2. Funktion in gang setzen.

Actionscript(Zeitleiste)
Code:
mc.onRelease = function(){
	zu(offen,stat);
	auf(k,anz);
}

Die richtige Antwort ist bestimmt ein Callback. Aber steh gerade auf dem Schlauch und
weiß auch nicht mehr wie. Kann mir das nochmal einer erklären.

PS: ich weiß das ich auch nur die 1. funktion aufrufen müste und dann am
Ende in der 1.F. die 2. Funktion aufrufen muss. Dies will ich aber nicht Zwecks wiederverwendbarkeit.

Zweite Frage wie verhindere ich das während eine dieser Funktionen ausgeführt wird sie
erneut über den Button aufgerufen werden.

Mach ich doch über einen Listener Oder ?
 
Hallo,

die einfachste lösung wurde ja schon von dir genannt.
Ein anderer Weg wäre dies über eine Variable zu lösen die angibt ob deine Funktion bereits ausgeführt wurde oder nicht.

In etwa so:

Code:
var f1;
btn.onRelease = function() {
	func1();
	this.onEnterFrame = function() {
		if (f1 == "ende") {
			delete this.onEnterFrame;
			func2();
		}
	};
};

function func1() {
	trace("func1 aufrufen");
	f1 = "ende";
}

function func2() {
	trace("func1 ende - func2 aufrufen");
}
 
Zuletzt bearbeitet:
Ja das mit der Variabl ist mir auch bekannt aber macht den quelltext schnell unübersichtlich
und bläht ihn unnötig auf. Zur Callback methode fällt nicht zufällig noch was ein ?

Ok habe mein oben beschriebenes Problem gelöst bekommen.
 
Zuletzt bearbeitet:
Neues Problem

Hi ich nochmal wie ihr oben lesen konntet die beiden ersten probleme habe ich gelöst.
Jetzt habe ich ein Neues, was aber nix mit dem vorherigen zu tun hat wollte nur keinen
neuen Threat öffnen weil das Projekt ja das selbe ist.

Habe auf dynamisch generierten Buttons folgende Aktion liegen,
alle sollten eigendlich das selbe bewirken aber funktionieren will nur
der nicht auskommentierte Befehl (der staatische).
dies mach ich hier erstmal weil die Variable in der Textdatei dem kleingeschrieben Namen des Buttons enspricht
Code:
mc.onRelease = function(){cname = this.bname.toLowerCase();
klappt auch alles dannach dann mein Problem:
Nun macht es aber keinen Sinn dynamisch erzeugte Buttons
mit statischen befehlen zu belegen. Sprich es sollen die dynamischen
funktionieren nur wo könnte mein Fehler sein ? :confused:
Code:
txt.htmlText = texte.praxis;
//txt.htmlText = texte.txtArr[k];
//txt.htmlText = texte.cname;};

Bitte hier brauch ich wirklich hilfe das sind nähmlich meine Inhalte.

zur Komplettheit hier noch was in den vorhergehenden Frame diesbezüglich passiert.
Code:
this.createEmptyMovieClip("texte",1001);
texte.loadVariables("inhalte.txt");
 
Zurück