Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „hilfe bei dyn. menue“

juwel

Professioneller Anfänger

hallo zusammen,

ich habe einen button_mc und ein dyn. textfeld in einem weiteren mc welches mit daten aus einer db gefüttert wird, und das ganze 7 mal

( also button1_mc, button2_mc... und name1_mc.text1_txt, name2_mc.text2_txt...)

jetzt soll ,abhängig davon, ob in dem textfeld was steht der button und der namex_mc sichtbar oder unsichtbar sein und die x position soll mittig ausgerichtet sein.

ungefähr so:

PHP:
if(name1_mc.text1_txt.text == ""){
name1_mc._visible = false;
button1_mc._visible = false;
}else{
name1_mc._visible = true;
button1_mc._visible =true;
name1_mc._x = Stage.width/2;
button1_mc._x = Stage.width/2;
}

dann soll geprüft werden ob in text2_txt was steht und so weiter

wie könnte da ein lösungsweg aussehen, ich steh momentan ein wenig auf dem schlauch.

gruß juwel
 

bad2be

Aktives Mitglied

AW: hilfe bei dyn. menue

Grüss Dich

Also, ich würd das mit ner Forschleife machen (while geht bestimmt auch^^)
Pack am Besten die Buttonnamen in ein Array, fütter die Daten aus der DB in ein weiteres und lass dann einfach durchzählen. Wenn Du dann die MCs auch noch attachen lässt sparst Du dir ne Menge Arbeit.

Code:
for (i=1; i<=anzahldeinerbuttons; i++) {
	if (itesElement.text != "") {
		_root.attachMovie('DeinButtonMC', 'Neuername'+i, _root.getNextHighestDepth(), this);
		_root.attachMovie('name_mc', 'name_mc'+i, _root.getNextHighestDepth(), this);
		this.bttn = eval('_root.Neuername'+i);
		this.MC = eval('_root.name_mc'+i);
		this.MC._x = Stage.width/2;
		this.bttn._x = Stage.width/2;
	}
}
Auf die Tour ersparst Du Dir auch die visible hin- und her- setzerei. Die Buttons werden nur eingeladen wenn Sie auch gebrauht werden. Natürlich musst Du sie jetzt nur noch auf der y- Achse positionieren

So denne mal,

LG B2B
 

juwel

Professioneller Anfänger

ok, das sieht gut aus, werde es dann gleich mal testen.

gruß juwel

hm... hat soweit funktioniert aber aus irgend einem grund kann ich die x position nicht verändern.

PHP:
var button_x = 50;
for (i=1; i<=7; i++) {
	if (menuename_lv["menuename"+i] != "") {
		_root.attachMovie('button_mc', 'button'+i+'_mc', _root.getNextHighestDepth());
		_root.attachMovie('menuename_mc', 'name'+i+'_mc', _root.getNextHighestDepth());
		this['name'+i+'_mc'].txt_txt.text = menuename_lv["menuename"+i];
		this['button'+i+'_mc']._x = button_x;
		this['name'+i+'_mc']._x = 300;
		button_x = this['button'+i+'_mc']._x+this['button'+i+'_mc']._width+5;
		trace(this['button'+i+'_mc']._x);
		trace(this['name'+i+'_mc']._x);
	}
}

gruß juwel
 
Zuletzt bearbeitet von einem Moderator:

bad2be

Aktives Mitglied

AW: hilfe bei dyn. menue

hm... hat soweit funktioniert aber aus irgend einem grund kann ich die x position nicht verändern.

PHP:
var button_x = 50;
for (i=1; i<=7; i++) {
	if (menuename_lv["menuename"+i] != "") {
		_root.attachMovie('button_mc', 'button'+i+'_mc', _root.getNextHighestDepth());
		_root.attachMovie('menuename_mc', 'name'+i+'_mc', _root.getNextHighestDepth());
		this['name'+i+'_mc'].txt_txt.text = menuename_lv["menuename"+i];
		this['button'+i+'_mc']._x = button_x;
		this['name'+i+'_mc']._x = 300;
		button_x = this['button'+i+'_mc']._x+this['button'+i+'_mc']._width+5;
		trace(this['button'+i+'_mc']._x);
		trace(this['name'+i+'_mc']._x);
	}
}

gruß juwel

Grüss Dich

Sorry das ich erst jetzt antworte, aber bei mir gehts grad drunter und drüber. Steh unmittelbar vor ner abgabe und irgendwie soll jetzt doch alles anders sein ;)
ZU Deinem Problem. Auf den ersten Blick sieht alles gut aus und ich kann keinen Fehler erkennen. Gibt er denn wenigstens die Position aus?
Ansonsten könntst du mal fürs erste versuchen den MC zu evaluieren. Ist zwar ziemlich unsauber, aber wenn ers macht dann sind wir schon ein Stück weiter.
Versuch doch mal:
Code:
mymc=eval('_root.button'+i+'_mc');
mymc._x = button_x;

Ma schaun ob das was bringt

Gruss B2B

Edit:

Grad seh ich, es könnte auch an der Initialisierung liegen... versuch am besten entweder:

Code:
_root.attachMovie('button_mc', 'button'+i+'_mc', _root.getNextHighestDepth(),this);

oder

Code:
_root['button'+i+'_mc']._x = button_x;
 
Zuletzt bearbeitet:

juwel

Professioneller Anfänger

AW: hilfe bei dyn. menue

hi b2b,

ich habe gerade bemerkt das ich noch die anderen button auf der bühne hatte, diese hießen ja genauso und somit hat flash diese auch positioniert.

jetzt hab ich noch ein anderes kleines prob dazu bei der if abfrage

PHP:
var menuename1 = menuename_lv.menuename1;
var menuename2 = menuename_lv.menuename2;
var menuename3 = menuename_lv.menuename3;
var menuename4 = menuename_lv.menuename4;
var menuename5 = menuename_lv.menuename5;
var menuename6 = menuename_lv.menuename6;
var menuename7 = menuename_lv.menuename7;
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
var button_x = 79;
var button_y = 560;

//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
for (i=1; i<=7; i++) {
	
	if (["menuename"]+i != '') {
		_root.attachMovie('button_mc', 'button'+i+'_mc', _root.getNextHighestDepth());
		_root.attachMovie('rollover_mc', 'rollover'+i+'_mc', _root.getNextHighestDepth());
		//----------------------------------------------------------------------------------
		_root.createEmptyMovieClip('menuename'+i+'_mc', _root.getNextHighestDepth());
		_root['menuename'+i+'_mc'].createTextField('menuename'+i+'_txt', _root.getNextHighestDepth(), 0, 0, _root['button'+i+'_mc']._width, _root['button'+i+'_mc']._height);
		_root['menuename'+i+'_mc']['menuename'+i+'_txt'].html = true;
		_root['menuename'+i+'_mc']['menuename'+i+'_txt'].htmlText = menuename_lv['menuename'+i];
		_root['menuename'+i+'_mc']['menuename'+i+'_txt'].setTextFormat(format_fmt);
		//----------------------------------------------------------------------------------
		_root['button'+i+'_mc']._x = button_x;
		_root['button'+i+'_mc']._y = button_y;
		_root['rollover'+i+'_mc']._x = button_x;
		_root['rollover'+i+'_mc']._y = button_y;
		_root['menuename'+i+'_mc']._x = button_x-(_root['menuename'+i+'_mc']._width/2);
		_root['menuename'+i+'_mc']._y = button_y-(_root['menuename'+i+'_mc']._height/2)+1;
		//----------------------------------------------------------------------------------
		button_x = this['button'+i+'_mc']._x+this['button'+i+'_mc']._width+5;
		//----------------------------------------------------------------------------------
		
	}
}

1. wie müßte ich die variablen in der if anweisung ansprechen ( if(menuename+i != '')

2. wenn ich schreibe, if (menuename2 != '')
wird der button trotzdem auf die bühne geholt obwohl die variable leer ist.

gruß juwel
 

bad2be

Aktives Mitglied

AW: hilfe bei dyn. menue

Grüss Dich

Hehe und dann lagen die Buttons auf der Bühne über denen die Du attacht hast, oder andesrum, oder Du hattes doppelte Instanznamen...

zu Deinem Problem:
Sorry sorry sorry, aber irgendwie muss ich Dir immer unsaubere Methoden empfehlen ;)

In deiner if-Bedingung baut er sich nicht den richtigen Variablennamen zusammen.
Code:
for (i=1; i<=7; i++) {
	myname= eval("menuename"+i);
	if (myname != "") {
		trace(myname);
	}
}

sollte Dir weiterhelfen ;)

Schönes Wochenende

Gruss B2B
 

juwel

Professioneller Anfänger

AW: hilfe bei dyn. menue

hi b2b

auf was man nicht alles aufpassen muß, der fehler lag wieder mal bei mir ;) .
ich hatte beim auslesen der datenbank in meinem php script alle datensätze untereinander geschrieben

PHP:
echo "menuename1=<b>$row->menue_name1</b>
&menuename2=<b>$row->menue_name2</b>
&menuename3=<b>$row->menue_name3</b>
&menuename4=<b>$row->menue_name4</b>
u.s.w.

dieser zeilenumbruch war wohl flash und der if abfrage zu viel.

immer wenn ich die variablen getracet hatte wurden sie mit einer leerzeile dazwischen angezeigt, hab jetzt alles hintereinander geschrieben und es funzt.

danke für deine hilfe und
gruß juwel
 
D

dayusram

Guest

AW: hilfe bei dyn. menue

warum machst du aus deinen menuenamen nicht ein array? dann kannst du in deiner if-abfrage mit menuename auf deine inhalte zugreifen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.188
Beiträge
2.582.071
Mitglieder
67.257
Neuestes Mitglied
Can Ergin
Oben