2016-05-22 20 views
-1

Wie kann ich 3 Filmclips von einem anderen mc dynamisch steuern? Meine 3 Clips sind MC1, MC2 und MC3. Was stimmt nicht mit den unten angegebenen Codes?Warum (root als MovieClip) .this ["mc" + i] funktioniert nicht?

for(i=1;i<=3;i++){ 
(root as MovieClip).this["mc"+i]; 
} 
+0

Klingt, als hätten Sie zentralen Code verwenden sollen. Das bedeutet, dass der gesamte Code an einem Ort allen MCs sagt, was zu tun ist. Die Logik des Codes wäre 'IF otherMC.clicked == true THEN {mc1 = tue function1, mc2 = tue function2 ... etc ..} ELSE {mach etwas}'. Benutzt du die Zeitleiste? Setzen Sie den gesamten Code in eine Ebene auf Bild 1, fügen Sie dann eine weitere Ebene hinzu + (immer noch in Bild 1) fügen Sie einen MovieClip hinzu, der als Container dient (z. B. Bühne). Jetzt steuert Ihr Code alle MCs, die dem Container ohne Fehler hinzugefügt wurden, Ihr Code enthält auch alle Funktionen (nicht innerhalb von Movieclips), also wird alles von Frame 1 aus zentral gesteuert ... –

Antwort

0

Kind kein Eigentum seiner Eltern ist, können Sie (root as MovieClip).get ChildByName('mc'+i) verwenden.

+0

Thank suzuiyue. Aber ich erhalte einen Fehler, wenn ich versuche, eine Funktion aufzurufen. für (i = 1; i <= 3; i ++) { (root als MovieClip) .getChildByName.functionName(); } Fehlermeldung ist: 1061: Aufruf an eine möglicherweise undefinierte Methode Funktionsname über eine Referenz mit dem statischen Typ flash.display: DisplayObject. –

+0

Was ist 'FunktionsName()'? ist es eine Methode von 'MovieClip'? – suzuiyue