Actionscript 无法通过引用访问MCs

Actionscript 无法通过引用访问MCs,actionscript,movieclip,Actionscript,Movieclip,我以前使用过AS2,这是我的第一个AS3项目。 我需要在容器对象中动态添加MCs。 添加它们之后,我无法通过直接引用访问它们。我可以用getChildByName()方法来实现这一点,但这很烦人。 此外,我注意到,这些实例在变量面板中的预期父/子路径中没有显示它们的给定名称,而是在“this”下显示它们的导入变量名称。(在下面的示例中,我在“this”下显示了“cont”和“mc1”)。 这是我的密码: var cont:Sprite = new Sprite() ; cont.name =

我以前使用过AS2,这是我的第一个AS3项目。 我需要在容器对象中动态添加MCs。 添加它们之后,我无法通过直接引用访问它们。我可以用getChildByName()方法来实现这一点,但这很烦人。 此外,我注意到,这些实例在变量面板中的预期父/子路径中没有显示它们的给定名称,而是在“this”下显示它们的导入变量名称。(在下面的示例中,我在“this”下显示了“cont”和“mc1”)。 这是我的密码:

var cont:Sprite = new Sprite() ; 
cont.name = "Container" ; 
addChild(cont) ; 

var mc1:MovieClip = new MovieClip() ; 
mc1.name="mc" ; 
cont.addChild(mc1) ;

var ref1 = getChildByName("Container") ; 
trace(ref1.name) ;                // returns "Container"
trace(mc1.parent.name) ;          // returns "Container"
var ref = ref1.getChildByName("mc") ; 
ref.x = 100 ;  
trace(ref.x) ;                       // returns 100
trace(ref1.mc1.x ) ;                  // DOES NOT WORK
trace(Container.mc.name) ;           // DOES NOT WORK
我错过什么了吗? 为什么我无法通过Container.MC访问我的孩子MC? 谢谢你的帮助,
昆汀

我在这里得到的大部分内容是:

为了通过点符号语法访问子对象,需要将这些子对象声明为容器对象的成员。诸如此类:

var C:Sprite = new Sprite;
C.name = "Container";
addChild(C);

// Add it also as a member of current context.
this.co = C;

var M:MovieClip = new MovieClip; 
M.name="InnerMC";
C.addChild(M);

// Add it also as a member of C.
C.mc = M;

trace(this.co.name); // Container
trace(this.co.mc.name); // InnerMC
再一次:成员名称与实例名称不同。在上面的脚本之后,显示列表层次结构如下所示:

this (name: ?)
    └ co (name: Container)
        └ mc (name: InnerMC)