Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-12-2005, 17:42   #1 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
Probleme beim aufrufen einer Funktion mit Hilfe setInterval

Hallo ihr lieben As'ler,
folgendes Problem.
Ich hab vor wie hier beschrieben, eine Bilderschow zu machen.

Nun hab ich das Problem, dass meine Funktion, mit der ein Bild nach dem anderen durchsichtig werden soll( abdunkeln- Funktion - falscher Name :P), nur einmal aufgerufen wird.

onLoad Function:
Code:
	...
for (var i = 13; i>=0; i--) {
		for (var z = 1; z<=4; z++) {
			_root["Bild"+z].createEmptyMovieClip("Bild_"+i, i+5);
			_root["Bild"+z]["Bild_"+i].loadMovie("BilderShow/ShowBild"+i+"/Bild"+z+".jpg", 1);
			_root["Bild"+z]["Bild_"+i]._alpha = 100;


		}
		
	}IntervalID = setInterval(Durchlauf(),20,[CurrentPic,BN,BNB,Richtung]);
}

Der "Bildwechsler":


Code:
	function Durchlauf(CurrentPic, BN, BNB) {
	trace( "0 : " + BN);
	if (BN>=1) {
		switch (CurrentPic) {
		case 1 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
				
			}
				trace(CurrentPic);
			break;
		case 2 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
				trace( "1 : " + BNB);
			}
			break;
		case 3 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
			}
			break;
		case 4 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
			}
			break;
		case 5 :
			clearInterval(IntervalID);
			IntervalID = setInterval(warten(), 2000, Richtung);
			if (Richtung == false) {
				CurrentPic += 1;
				BN -= 1;
				Richtung = true;
				clearInterval(IntervalID);
			}
			break;
		case 6 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
			}
			break;
		case 7 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
				trace(BNB);

			}
			break;
		case 8 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 50, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
			}
			break;
		case 9 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln(), 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
			}
			break;
		case 10 :
			clearInterval(IntervalID);
			IntervalID = setInterval(warten(), 2000, Richtung);
			if (Richtung == false) {
				CurrentPic = 1;
				BN -= 1;
				Richtung = true;
				clearInterval(IntervalID);
			}
			break;
		}
	}
	abdunkeln(BN, BNB);
}
Die FUnktion zum "Alphatisieren":

Code:
function abdunkeln(BN, BNB) {
    _root["Bild"+BNB]["Bild_"+BN]._alpha -=1;
	trace(_root["Bild"+BNB]["Bild_"+BN]._alpha);
	if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
		IntervalID = setInterval(Durchlauf, 50, [BN, BNB]);
		clearInterval(IntervalID2);
	} 
}
Eine PausenFunktion:

Code:
function warten(Richtung) {
	Richtung = false;
	clearInterval(IntervalID);
	IntervalId = setInterval(Durchlauf, 50, [BN,BNB]);
}
Nun stimmt was nicht mit dem aufrufen der vercshiedenen Funktionen.
Sicherlich gibt es bessere Stile zum verwirklichen aber ich bin leider ein wenig delphi geprägt.

Bitte um Hilfe, bin schon verzweifelt
mit Freundlichen Grüßen
;-)
__________________
...! Incyder

Geändert von ;-) (07-12-2005 um 19:23 Uhr)
;-) ist offline   Mit Zitat antworten
Alt 07-12-2005, 18:41   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Der Aufruf von setInterval ist nicht ganz richtig.
PHP-Code:
setInterval(Durchlauf(),20,[CurrentPic,BN,BNB,Richtung]); 
Der erste Parameter ist eine Funktion und nicht das Ergebnis eines Funktionsaufrufs. Die zusätzlichen Parameter kommen nicht in ein Array. In der Hilfe findest du die ganzen Einzelheiten.


mfg. r
bokel ist offline   Mit Zitat antworten
Alt 07-12-2005, 19:12   #3 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
dieses Problem ist behoben, Vielen Dank
Aber nun hab ich Probleme, dass er nicht mehr die Variablen BN und BNB mit übergibt.
BN ist die Bildnummer (1-4) und BNB ist die Bildnummer innerhalb des BN's mit dem jeweiligen viertel des Bildes, die übereinander liegen.

Von durchlaufen zu abdunkeln werden diese zwei (Bn,BNB) Variablen nicht übergeben...
bitte um hilfe danke =)
__________________
...! Incyder
;-) ist offline   Mit Zitat antworten
Alt 07-12-2005, 21:07   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
show your new script please
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 07-12-2005, 21:20   #5 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
take this

Code:
this.onLoad = function () {
	var Richtung = true;
	var IntervalID;
	var IntervalID2;
	var CurrentPic = 1;
	var BN = 13;
	var BNB = 1;
	Durchlauf(CurrentPic, BN, BNB);
	}
	
	function Durchlauf(CurrentPic, BN, BNB) {
	trace( "0 : " + BN);
	if (BN>=1) {
		switch (CurrentPic) {
		case 1 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
				
			}
				trace(CurrentPic);
			break;
		case 2 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
				trace( "1 : " + BNB);
			}
			break;
		case 3 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB += 1;
			}
			break;
		case 4 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
			}
			break;
		case 5 :
			clearInterval(IntervalID);
			IntervalID = setInterval(warten, 2000, Richtung);
			if (Richtung == false) {
				CurrentPic += 1;
				BN -= 1;
				Richtung = true;
				clearInterval(IntervalID);
			}
			break;
		case 6 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
			}
			break;
		case 7 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
				trace(BNB);

			}
			break;
		case 8 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 50, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
				BNB -= 1;
			}
			break;
		case 9 :
			clearInterval(IntervalID);
			IntervalID2 = setInterval(abdunkeln, 20, [BN, BNB]);
			if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
				CurrentPic += 1;
			}
			break;
		case 10 :
			clearInterval(IntervalID);
			IntervalID = setInterval(warten, 2000, Richtung);
			if (Richtung == false) {
				CurrentPic = 1;
				BN -= 1;
				Richtung = true;
				clearInterval(IntervalID);
			}
			break;
		}
	}

}
function abdunkeln(BN, BNB) {
	trace("A : " + BN);
	trace("B : " + BNB);	
    _root["Bild"+BNB]["Bild_"+BN]._alpha -=1;
	trace(_root["Bild"+BNB]["Bild_"+BN]._alpha);
	if (_root["Bild"+BNB]["Bild_"+BN]._alpha == 0) {
		IntervalID = setInterval(Durchlauf, 50, [BN, BNB]);
		clearInterval(IntervalID2);
	} 
}
function warten(Richtung) {
	Richtung = false;
	clearInterval(IntervalID);
	IntervalId = setInterval(Durchlauf, 50, [BN,BNB]);
}
Upload ging nicht - is zu groß
echt super wenn ihr mir helfen könntet - ich dreh noch durch :P
__________________
...! Incyder
;-) ist offline   Mit Zitat antworten
Alt 07-12-2005, 21:55   #6 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Probier mal des, vielleicht klingelts dann
PHP-Code:
function test1(bnbd) {
    
trace("bn => "+bn+" bd => "+bd);
    
clearInterval(SED1);
    
ausfuer2("test1""test2");
}
function 
test2(bnbd) {
    
trace("bn => "+bn+" bd => "+bd);
    
clearInterval(SED2);
}
function 
ausfuer1(bd) {
    
SED1 setInterval(test11000, [bd]);
}
function 
ausfuer2(bd) {
    
SED2 setInterval(test21000bd);
}
ausfuer1("test1""test2"); 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 07-12-2005, 22:02   #7 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
uff sorry raff ich nich wo soll denn der fehler liegen
hab versucht ein wenig das so wie ichs verstanden hab zu ändern aber das funtzt nicht....
wäre nett wenn du mir weiter helfen koenntest.Danke
__________________
...! Incyder

Geändert von ;-) (07-12-2005 um 22:12 Uhr)
;-) ist offline   Mit Zitat antworten
Alt 07-12-2005, 22:12   #8 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Wenn Du die trace vergleichst, siehst Du das im ersten aufruf (der mit den []) für bn alles was in den Klammern übergeben wird, und bd =="undefined"

trace== bn => test1,test2 bd => undefined
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 07-12-2005, 22:17   #9 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
Vielen Dank
jetzt zeigt er wenigstens ein Bild von 4ren an zwar auch in falscher Reihenfolge aber da muss ich noch weiter probieren.!
Tausend Dank.
ich hoffe ich kann auf dich zurück kommen wenn ich mal wieder nicht weiter weiß
Danke
__________________
...! Incyder
;-) ist offline   Mit Zitat antworten
Alt 07-12-2005, 22:30   #10 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
ach ja und den functionsaufruf ohne runde klammern
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 09-12-2005, 16:25   #11 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
Moin MOin
ich komm einfach nicht weiter....
Die Variablen werden nicht richtig übergeben und das ANsprechen des Mc's gelingt nur beim ersten mal, aber nicht beim zweiten..
ich bin echt verzweifelt...
guckt es euch an

hier

mfg Incyder
__________________
...! Incyder
;-) ist offline   Mit Zitat antworten
Alt 09-12-2005, 19:21   #12 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ich kann die datei nicht öffnen! ist des Flash 8?
Speicher des bitte in Flash 7 wenns geht.
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 09-12-2005, 19:37   #13 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
so geaendert
boah ich sag dir
ich bin so fertig.. *g*
danke fuer deinen support
__________________
...! Incyder
;-) ist offline   Mit Zitat antworten
Alt 09-12-2005, 20:44   #14 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Wenn man die Function "Durchlauf" mit der richtigen anzahl von Parametern aufruft kommen die Variablen "BN" &"BNB" schon an!
Vorsicht ich hab die Bilder und Twenns aus dem Film gekickt!
Angehängte Dateien
Dateityp: zip kombil_2.zip (5,5 KB, 2x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 09-12-2005, 20:53   #15 (permalink)
;-)
Neuer User
 
Registriert seit: Jan 2002
Ort: Marburg
Beiträge: 19
mhh die var currentpic übernimmt er abernicht
wieso ? ich blick das nich
Bn wird auch nicht 2 ...ich versteh echt nicht warum es nicht geht...
ich hoffe du kannst mir noch ein wenig weiterhelfen
Millionen Dank im Vorraus
Ciao
Incyder
__________________
...! Incyder

Geändert von ;-) (09-12-2005 um 21:32 Uhr)
;-) 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele