Variablenbezeichnung in dynamisch erzeugten Textfeld

herzblut

Mitglied
Hallo!
Ich komme mit meinem Textfeld nicht weiter.
Ich will ein Textfeld per as erzeugen. Dies soll den variablennamen value_ haben.
Also das was man, wenn man ein Textfeld so mit flash mx erzeugt bei Var: eintraegt.
Diese Variable wird dann spaeter durch ein anderen script in einem anderen Movieclip eingesetzt.
So wie das script (s.u.) jetzt aussieht wird leider immer garnichts angezeigt.
Wenn ich
Code:
txt.variable = value_;
durch
Code:
txt.text = "was auch immer";
ersetze, dann dann wird der text korrekt angezeigt. Nur dann habe ich ja wiegesagt keine variable.

Dies ist der Code fuer das Textfeld:
Code:
onClipEvent (load) {
createTextField("txt",0,0,0,62,12);
txt.multiline = false;
txt.wordWrap = false;
txt.border = false;
txt.variable = value_;

form = new TextFormat();
form.color = 0x00000;
form.bullet = false;
form.align = "center"
form.font = "Arial"
form.leftMargin = 0
form.rightMargin = 0
form.indent = 0
form.leading = 0
form.bold = false
form.italic = false
form.underline = false
form.size = "10"

txt.setTextFormat(form);
}

Und dies ist der Code fuer das andere Script in dem die Variablen festgelegt werden, die dann spaeter in das textfeld eingesetzt werden sollen.
(Die stellen wo die value_ variable verwendet wird sind unterstrichen!):

Code:
onClipEvent (load) {
	mainSections = new Array("main1", "main2", "main3", "main4", "main5", "main6");

	subSection0 = new Array("sub1", "sub2");
	subSection1 = new Array("sub1", "sub2");
	subSection2 = new Array("sub1");
	subSection3 = new Array("sub1", "sub2", "sub3");
	subSection4 = new Array("sub1");
	subSection5 = new Array("sub1");

	for (i=0; i<mainSections.length; i++) {
		attachMovie("mainButton", "main"+i, i+100);
		myButton = this["main"+i];
		myButton.subs = this["subSection"+i];
		myButton.button.value_ = mainSections[i];
		myButton._x = myButton._width*i;
		// -- build subsection buttons for each main button
		for (x=0; x<myButton.subs.length; x++) {
			myButton.attachMovie("subButton", "sub"+x, x);
			mySub = myButton["sub"+x];
			mySub.button.value_ = myButton.subs[x];
			mySub.button.outYpos = myButton._height+(mySub._height*x);
		}
	}

	function openSubs(target) {
		for (i=0; i<this[target].subs.length; i++) {
			subMenuCounter = 0;
			this[target]["sub"+i].button.newY = this[target]["sub"+i].button.outYpos;
			currentOpen = target;
		}
	}
	// -- close subsections function
	function closeSubs(target) {
		for (i=0; i<this[target].subs.length; i++) {
			this[target]["sub"+i].button.newY = this[target]["sub"+i].button.oYpos;
		}
	}

	function doSubSection(target, sub) {
		_root.currentSelection = target+" "+sub;
		closeSubs(currentOpen);
	}
}
onClipEvent (enterFrame) {
	subMenuCounter++;
	if (subMenuCounter>100) {
		closeSubs(currentOpen);
		subMenuCounter = 0;
	}
}
onClipEvent (mouseUp) {
	if (!this.hitTest(_root._xmouse, _root._ymouse)) {
		closeSubs(currentOpen);
	}
}

Ich hoffe hier kann mir jemand weiterhelfen.

Gruss

PS: Es geht im ganzen Script um ein Menu. Die Buttons werden automatisch erzeugt und in das Textfeld auf jedem Button soll dann die entsprechende variable eingefuegt werden!
 
Ich verstehe nicht ganz was value_ in deinem Script machst. Du weißt es txt.variable zu, aber welchen Wert bzw was ist value_?

Was genau soll

PHP:
myButton.button.value_ = mainSections[i];

bewirken?Ab Flash MX sollte man besser mit instanz- statt variablenamen bei Textfeldern arbeiten. Dadurch kannst du einige Fehler vermeiden.

p-flash
 
Code:
myButton.button.value_ = mainSections[i];
ist der wert der auf dem button stehen soll.

oben im script steht:
Code:
mainSections = new Array("main1", "main2", "main3", "main4", "main5", "main6");

das i ist der jeweilige ausgelesene array. also z.b. main1.

d.h.z.b.
myButton.button.value_ = main1;

auf dem button steht also main1.
auf dem naechsten dann main2 usw.

ich haenge mal das eigentliche script fuer das menu komlett an, dass kommt naemlich nicht von mir.
dort wird statt einem per as erzeugten textfeld ein manuell eingefuegtes mit der variable value verwendet.
genau das textfeld will ich per as erzeugen.

das textfeld befindet sich im originalscript im
m-large button mc.

doppelklick auf den movieclip, dann in der ebene grafik doppelklicken. und dann ebene text.

hm. ich hoffe da steigt jemand durch... ;)

download der fla datei
 
Achso, ich glaube ich verstehe...Habe gerade keine Zeit mir die Datei anzugucken, aber wenn value_ der Variablenname sein soll, müsste folgende Zeile anders aussehen:

PHP:
txt.variable = value_; // falsch
txt.variable = "value_"; // richtig

p-flash
 
createTextField.. erzeugen und dann als 5 veröffentlichen..das kann nicht gehen..
versuch es mal mit veröffentlichen als 6..
 
Ok, ich habe das Problem schon selbst gelöst.
Ich hatte das Textfeld nur in der falschen MovieClip-Ebene erzeugt.
Jetzt funktioniert aber alles.
Danke trotzdem fuer eure Hilfe!
MfG
 
Zurück