Buttons eines dynamisch generierten Menüs mit unterschiedlichen Aktionen versehen!

poli-dori

Erfahrenes Mitglied
Hi, ich habe ein Menü, welches die Anzahl und die Beschriftung seiner Buttons aus einer externen Textdatei ausliest. Es gibt auch einen Rollovereffekt den ich mit setTextFormat erziehlt habe (THX an Datic). Nun hane ich ein Problem, denn ich möchte jeden einzelnen Button eine onRelease-Funktion verpassen. Und zwar soll Button"n" ein Bild"n" in einen ContainerMC laden. "n" ergibt sich aus einer for-Schleife. Leider krieg ich letzteres nicht auf die Beine.
Ich poste mal den AS:
PHP:
stop();
//
m_button._visible = false;
kunden = new LoadVars();
kunden.load("clients/clientsmenu.txt");
kunden.onLoad = function() {
	//
	bold = new TextFormat();
	bold.bold = true;
	regular.align = "right";
	//
	regular = new TextFormat();
	regular.bold = false;
	regular.align = "right";
	//
	mein_str = kunden.clients;
	//clients ist der Variablenname in clientsmenu.txt
	menu_array = mein_str.split(",");
	//Hier wird die Funktion makeMenu definiert
	function makeMenu() {
		var y = 110;
		var max = menu_array.length;
		for (i=0; i<max; i++) {
			arraybuttons = m_button.duplicateMovieClip("m_button_"+i, i);
			arraybuttons._y = y;
			//Y-Wert für de ersten der duplizierte Clips
			y += 22;
			arraybuttons.b_text.text = menu_array[i];
			arraybuttons.b_1.onRollOver = function() {
				this._parent.b_text.setTextFormat(bold);
			};
			arraybuttons.b_1.onRollOut = function() {
				this._parent.b_text.setTextFormat(regular);
			};
			arraybuttons.b_1.onRelease = function() {
				//---------------------------------------------------------
				bild_container.loadMovie("clients_"+this._parent.i+".jpg");
				//ich möchte dass der Button mit dem Index "n" auch das bild Nr."n" ladet, da ich jedem Namen im Array auch ein Bild zuordnen möchte!
			};
			//trace(arraybuttons.b_text.text);
			//
		}
	}
	//Hier wird makeMenu ausgeführt
	makeMenu();
};
Wie schaffe ich es, dasses so funktioniert wie ich möchte. Bitte Helft mir! Ich muss dieses Projekt so bald wie möglich abschliessen!
 
Re: Buttons eines dynamisch generierten Menüs mit unterschiedlichen Aktionen versehen

Hi,

PHP:
 for (i=0; i<max; i++) {
            arraybuttons = m_button.duplicateMovieClip("m_button_"+i, i);
            arraybuttons._y = y;
            //Y-Wert für de ersten der duplizierte Clips
            y += 22;
            arraybuttons.b_text.text = menu_array[i];
arraybuttons.i = i; // Die im moment nohc lokale Variable in den MC ren speichern.
// Alternativ gine auch was anderes, siehe unten
            arraybuttons.b_1.onRollOver = function() {
                this._parent.b_text.setTextFormat(bold);
            };
            arraybuttons.b_1.onRollOut = function() {
                this._parent.b_text.setTextFormat(regular);
            };
            arraybuttons.b_1.onRelease = function() {
                //---------------------------------------------------------
                bild_container.loadMovie("clients_"+this.i+".jpg");
                //ich möchte dass der Button mit dem Index "n" auch das bild Nr."n" ladet, da ich jedem Namen im Array auch ein Bild zuordnen möchte!
// ALTERNATIVE: bild_container.loadMovie("clients_"+this._name.charAt(9)+".jpg");
            };
            //trace(arraybuttons.b_text.text);
            //
        }

Gruß
j.
 
Hi,
hat leider auch nicht funktioniert... ich habs so gelöst:
PHP:
arraybuttons.b_1.onRelease = function() {
				bild_container.loadMovie("clients/clients_"+Number(this._parent._name.substr(9))+".jpg");
							};

aber danke trotzdem
 
Zurück