{lang: 'de'}
Flashhilfe.de - Flash Community

getChildByName und .name für mcs [Flash 9]

 


AntwortenRegistrieren Seite1  

DerWaldgeist#1
Benutzerbild von DerWaldgeist
Beiträge: 26
Registriert: Jan 2008

28.08.2011, 12:29

Hallo,

ich habe nur eine kleine Verständnisfrage. Ich schlage mich monetan mit einer sehr stark verschachtelen flash-website herum. Dabei muss ich häufig aus einem mc heraus, in einem dazu paralell liegenden mc, auf einer tieferen Ebene, Änderungen vornehmen.

Dabei ist mir zunächst aufgefallen, dass sich manche MovieClips nicht über ".name" umbenennen lassen. Dies ist vornehmlich bei mcs die container für externe swf-Dateien sind und die
ihren externen Inhalt im Stile von var mc:MovieClip = (MovieClip)(loader.content); erhalten der Fall. mc.name = "hallomc"; gibt hier lediglich einen Fehler aus.

Ferner habe ich mit viel herumprobieren festgestellt, dass sich getChildByName nicht "reihenweise" verwenden lässt. Also z.B.
ActionScript:
1var target = parent.getChildByName("instance2").getChildByName("container002");

gibt lediglich einen Fehler aus.
Wenn ich stattdessen aber z.B.
ActionScript:
1
2
3
4
5
var target1 = parent.getChildByName("instance2");
var target = target1.getChildByName("container002");
   
   for (var i:uint = 0; i < target.numChildren; i++){
     trace ('t|t ' +i+'.t name:' + target.getChildAt(i).name + 't type:' + typeof (target.getChildAt(i))+ 't' + target.getChildAt(i)); }

schreibe funktioniert es.
Kann mir irgendjemand erklären weshalb das so ist (oder mir ein gutes Tutorial zum Thema getChild... in As3 nennen)?

Danke,
Alex
Geändert von DerWaldgeist am 28.08.11 um 12:32 Uhr
omega psi#2
Benutzerbild von omega psi
Beiträge: 791
Registriert: Apr 2004

28.08.2011, 17:25