2016-04-28 12 views
0

Ich habe Probleme mit AS3 und addChild Methoden.Movieclip Namen

Zuerst erstelle ich ein Objekt namens "Container". Innerhalb des Containers erstelle ich ein leeres Objekt mit einem leeren MovieClip aus der Bibliothek namens "holder". Dann erstelle ich die Movieclips innerhalb des Containers. Halter Aber ich kann nicht auf die MovieClips zugreifen! Wer weiß warum? Hier ist der Code:

// Creating object 
var container:Object { 
    x: 30, 
    y: 30 
} 

// Empty object 
var eObject: MovieClip = new MovieClip(); 
container.holder = eObject; 

// Creating Movieclips 
var mc : MovieClip; 
    for (var i : int = 0; i < 5; i++) { 
     var mc: _myClip = new _myClip(); // _myClip is a MC from my library. 
     mc.name = "myMc"+ i; 
     mc.x = 10; 
     container.holder.addChild(mc); 
} 

// Calling MovieClips 
container.holder["myMc"+3].x = 40; // Nothing happens 
+0

Behälter haben „Halter“ Eigenschaft wie x und y müssen? –

+0

Was ich brauche, ist Aufruf container.holder [myMC3], wie un as2: container.holder.attachMovie (mc, "myMC" + i, 0); –

+0

Ich verstehe nicht, was Sie versuchen zu tun. Was ist der Punkt, um einen MovieClip in einem Objekt zu haben? Sollte es auch ein MovieClip sein? Was passiert, wenn Sie versuchen, die Eigenschaft x Ihres Movieclips zu setzen - der Movieclip ist nicht einmal sichtbar, weil er sich gerade in einem Objekt befindet. – Philarmon

Antwort

0

Sie können die Komplexität und unnötige Nutzung der name Eigenschaft reduzieren, indem ein Array mit:

var items:Array = []; 

for (var i:int = 0; i < 5; i++) { 
    var mc:_myClip = new _myClip(); 

    container.holder.addChild(mc); 
    items.push(mc); 
} 

items[2].x = 40; 
+0

hinzugefügt wurde. Oder ein Vektor: var items: Vector. = new Vector (); aber ich verstehe wirklich nicht die Bedeutung/Verwendung des "Containers" hier, die X- und Y-Eigenschaften und eine Liste von MovieClip ... Items in Container kann whate sein Ver wünscht der Benutzer, ohne Kompilierzeit Fehler zu werfen (ist das wirklich was Sie wollen?). Sie sollten völlig vergessen, über AS2 ... und var container: Object { x: 30, y: 30 } werfen wird und Fehler in der Strict-Modus ... – tatactic

Verwandte Themen