AS3 - Erste Kind beim Namen und dann durch die Tiefe
Ich habe 3 sprites: img1spr, img2spr, und img3spr. In jedem sprite habe ich einige bitmaps.
Jedes sprite hat einen Namen:
img1spr.name=name1;
img2spr.name=name2;
img3spr.name=name3;
Nun die Namen ändern sich jedes mal, wenn eine Funktion ausgeführt wird und was ich wissen möchte, ob es einen Weg gibt, etwas zu tun:
getChildByName("name1").getChildAt(0)
Das bedeutet, dass ich finden will, der sprite mit dem Namen name1 und dann festzustellen das erste Kind drin, oder anderweitig, um die Anzahl der Elemente innerhalb name1 mit numChildren.
Gibt es eine Möglichkeit, dies zu tun?
InformationsquelleAutor slacky | 2009-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie fast da -
getChildByName
gibt eineDisplayObject
und Sie haben zu werfen es zuDisplayObjectContainer
zu nennengetChildByName
undnumChildren
Wenn Sie ändern die Namen der sprites in zwischen, müssen Sie sicherstellen, dass Sie nicht die weisen den gleichen Namen auf zwei Objekte in der child-Liste des übergeordneten (flash erlaubt). Dies ist, weil
getChildByName
gibt das erste Kind mit dem angegebenen Namen - die kann oder kann nicht die sein, die Sie suchen.Was ist, wenn ich brauche, zu verwenden, die besonders Kind können sagen, ich brauche zum ändern der x-Werte?
20;
Ich bin, dies zu tun : MovieClip(competencyContainer.getChildByName(String("test")).x)+= 80; ich bekomme diese beiden Fehler: 1105: Ziel der Zuweisung muss einen Verweis Wert. 5000: Die Klasse 'com.felinefrenzy.Benutzer' muss eine Unterklasse von 'flash.display.MovieClip', da Sie mit einem Bibliothekssymbol dieses Typs.
1105: die Klammern sind falsch gesetzt. Auch
String("test")
redundant ist - "test" ein string-Objekt. Rufen SieMovieClip(competencyContainer.getChildByName("test")).x += 80;
5000: Diese ist unabhängig von der gegebenen Anweisung. Machen diecom.felinefrenzy.User
- Klasse und erweitern Sie es ausMovieClip
(public class User extends MovieClip
)InformationsquelleAutor Amarghosh