Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-08-2009, 15:49   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 13
Funktion wird zweimal aufgerufen, aber nur einmal ausgeführt

Hallo liebe Leute,

ich habe ein Problem mit einem für meine Zwecke angepasstem Script von Flashstar für eine Bildergallerie. Die Gallerie läuft sehr gut, nur habe ich das Problem, das die Funktion "setArray" zwar zweimal von mir auf gerufen, aber nur einmal ausgeführt wird, mit dem Ergebnis, dass ich nur einen Array und eine Bildgalerie habe, wo zwei sein sollten.
Kann mir jemand sagen, warum "setArray" nur beim ZWEITEN Mal korrekt vonstatten läuft.

Code:
stop ();

// Starten
loadVariables ("gallerie.txt", this);
this.onData = function ()
{
	gruppen = new Array ();
	bilder = new Array();
	gruppen = daten.split (",");
	createEmptyMovieClip ("mc_bild", 1);
	for (var i=0; i<gruppen.length;i++) {
		bilder.push(gruppen[i].split("|"));
	}
	setArray (0, 53.5, 263.5, 97, 97, 0);
	setArray (0, 53.5, 463.5, 97, 97, 1);
};

// Spalten und Reihen
pS = 5;
pR = 8;
// Limit
max = pS * pR;

// Zweidimensionales Array erzeugen
function setArray (pT ,posX, posY, pB, pW, x)
{
	spiellevel = new Array ();
	for (var m = 0; m < pR; m++)
	{
		spiellevel[m] = [];
		for (var n = 0; n < pS; n++)
		{
			spiellevel[m].push (bilder[x][pT++]);
		}
	}	
	tabelle (posX, posY, pB, pW, x);
}

// Movieclips setzen
function tabelle (posX, posY, pB, pW, x)
{
	//unnützes script!?!
	//for (i in this.mc_bild)
		//{
			//if (typeof (this.mc_bild[i]) == "movieclip")
				//{
					//this.mc_bild[i].removeMovieClip ();
				//}
		//}
	
	tiefe = 0;
	for (var i = 0; i < spiellevel[0].length; i++)
	{
		for (var j = 0; j < spiellevel.length; j++)
		{
			
			nName = "block_" + i + "_" + j;
			this.mc_bild.attachMovie ("contclip", nName, tiefe++);
			this.mc_bild[nName].nummer = i;
			this.mc_bild[nName].tbnname = "thumbnails/tbn_" + spiellevel[j][i];
			this.mc_bild[nName].bldname = "bilder/bld_" + spiellevel[j][i];
			this.mc_bild[nName]._x = posX + pB * i * 1.195;
			this.mc_bild[nName]._y = posY + pW * j * 1.195;
			this.mc_bild[nName].bildname.contclip.bildname = this.tbnname;
			this.mc_bild[nName].onRelease = function ()
			{
				_root.createEmptyMovieClip ("inhalt", 10000);
				_root.inhalt.attachMovie ("grosscontclip", "grossclip", 1);
				_root.inhalt.grossclip.bildname = this.bldname;
				_root.inhalt.grossclip._x = 10;
				_root.inhalt.grossclip._y = 210;
				_root.inhalt.grossclip.leiste_mc.onPress = function ()
				{
					this._parent.startDrag ();
				};
				this._parent._parent.inhalt.grossclip.leiste_mc.onRelease = this._parent._parent.inhalt.grossclip.leiste_mc.onReleaseOutside = function ()
				{
					this._parent.stopDrag ();
				};
				this._parent._parent.inhalt.grossclip.leiste_mc.onMouseMove = function ()
				{
					updateAfterEvent ();
				};
			};
		}
	}

}
Ich hoffe, ich konnte mich verständlich machen. Es geht wirklich nicht um den ganzen QT, sondern nur um die Funktion "setArray", die zweimal aufgerufen wird, aber nur beim zweiten Mal Wirkung zeitigt. (Es ist gut möglich, dass es einen sehr simplen Grund gibt, allein mein AS-Verständnis ist noch im All-Inclusive-Urlaub.)

Vielen Dank im Voraus!
Extapolakatekel ist offline   Mit Zitat antworten
Alt 13-08-2009, 15:53   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Trace dir erst mal die Werte aus, die in setArray erzeugt werden und überzeug dich, dass die Werte beim zweiten Aufruf die Werte des ersten Aufrufs nicht einfach überschreiben...
  Mit Zitat antworten
Alt 13-08-2009, 16:12   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 13
Hallo Holger,

danke für deinen schnellen Kommentar! Allerdings: 1. Ich weiß nicht, wie das Tracen der Wert funktioniert. Das ist aber vorerst auch nicht so schlimm, denn 2. ich glaube, mein Problem besteht in der einfachen Tatsache, dass die Werte beim zweiten Mal überschrieben werden, nur weiß ich fernerhin nicht, wie ich das ändern kann, ohne dass Script so oft und mit anderen Variablen neu zu schreiben, wie ich die Funktion aufrufen will. Wie gesagt, ich entschuldige mich für die lumpigen Amateurfragen, aber diese Funktion ist das einzige, das meine Bandpage noch am Onlinegehen hindert.

Schöne Grüße

Boris
Extapolakatekel ist offline   Mit Zitat antworten
Alt 13-08-2009, 19:14   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich weiß nicht, wie das Tracen der Wert funktioniert
Dann schau halt in die Flash-Hilfe oder hier in die Sufu...
  Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
array, bildergallerie, funktion

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 23:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele