sich bewegende flaechen

Hallo nochmal.

Ich habe mich jetzt also brav mit dem Code auseinandergesetzt und vielleicht sogar eine Loesung gefunden. Jetzt habe ich nur noch ein kleines Problem...

Ich hab meine Menuepunkte auf meiner _root programmiert und muesste jetzt aber fuer die neue Programmierung alle zusammen irgendwie benennen koennen (Instanznamen fuer mehrere Objekte auf der Hauptzeitleiste)

Oder ist _root["hm"+i+"_mc"].intRot das gleiche wie _root.mp_mc.intRot wenn es um Referenzen geht.

Bei dem Zweiten (_root.mp_mc.intRot) sind meine Menuepunkte als extra MovieClip in der this. Zeitleiste. (Meine einzelnen Menuepunkte auf meiner Unterzeitleiste haben jeweils den Instanznamen hm?_mc .) Dann hab ich alles auf meine Szene 1 geschoben und als Instanz mp_mc genannt. Weils ja dann nur ein MovieClip ist...

Beim Ersten (weil mir mein Professor empfohlen hat alles auf der Szene 1 zu machen) hab ich jetzt eben das Problem, das ich nicht weiss, ob diese beiden Sachen gleich sind.

Und die Programmierung ist noch nicht ganz fertig
Und wenn ich wenigstens schon mal wuesste, was Sache ist, muesst ich nicht Stundenlang umsonst einen knallroten Kopf haben, weil einfach nichts mehr funktioniert...

Ich hoffe man sieht schon etwas Lerneffekt durchkommen. Ich strenge mich an

Hoffe jemand kann mein Problem loesen und ausserdem hoffe ich das ich mich diesmal nicht wieder so unverstaendlich ausgedrueckt hab :confused:
 
Hi,

wenn ich Dich richtig verstanden habe ...

Angenommen, Du hast auf _root drei MCs mit den Instanznamen "clip1_mc", "clip2_mc" und "clip3_mc". Dann kannst Du sie mit einer Schleife in der Tat so (Arrayoperator) ansprechen:
Code:
for (var i=1; i<=3; i++) {
    _root["clip" + i + "_mc"]._visible = false; // mal unsichtbar schalten ;)
}

Zweite Möglichkeit: Sind mehrere Clips, die Du gemeinsam ansprechen willst, nicht mit fortlaufenden Nummern benannt (z.B. "erster_mc", "zweiter_mc"), so kannst Du die Clips in einem Array ablegen und dann ebenfalls in einer Schleife durchlaufen:
Code:
var meine_clips = new Array(erster_mc, zweiter_mc);
for (var i in meine_clips) {
    meine_clips[i]._visible = false;
}

Dritte Möglichkeit: Hast Du überhaupt keine Instanznamen vergeben, so kannst Du dennoch alle MCs in einer Zeitleiste "durchsuchen". Packe dazu am besten alle Clips, die Du ansprechen willst, in einen gemeinsamen "Container-MC" (hier im Beispiel mal mit dem Instanznamen "container") und probier es so:
Code:
for (var i in container) {
    if (typeof(container[i]) == "movieclip") { // Wichtig, da wir nur MCs, aber keine Funktionen
    // oder Variablen ansprechen wollen
        container[i]._visible = false;
    }
}

Gruß
.
 
Hallo,

zu deinem Punkt 1:

Bezüglich dem Object-Access liegst du richtig:
Code:
var i = 6;

if (this["hm"+i+"_mc"] == this.hm6_mc) {
    trace (this.hm6_mc);
}

Zu Punkt 2:

Ich versteh dein Problem nicht ganz. Du hast einen MovieClip in Szene 1, der deine Untermenüs beinhaltet, deren Instanznamen hmX_mc sind....und nun willst du keinen knallroten Kopf ;). Erklär doch nochmals, worum es dir hier geht.


gruss

EDIT: Argh Vol. II;)
 
Zurück