Actionscript 3 AS3-如何解决此访问未定义属性错误?

Actionscript 3 AS3-如何解决此访问未定义属性错误?,actionscript-3,addchild,Actionscript 3,Addchild,我需要调用从库中添加的MovieClip,但出现以下错误: 1120:访问未定义的属性灯 这是我的代码: var btn:Btnselect; btn = new Btnselect(); con.addChild(btn); btn.name = "light" light.box.visible=false 为什么它没有定义 Access of undefined property light. 表示该灯光有一个空引用,您正试图访问它。确保可变灯光已初始化,或者它在后台有对电影剪

我需要调用从库中添加的MovieClip,但出现以下错误:

1120:访问未定义的属性灯

这是我的代码:

var btn:Btnselect;

btn = new Btnselect();
con.addChild(btn);
btn.name = "light" 

light.box.visible=false
为什么它没有定义

 Access of undefined property light.

表示该灯光有一个空引用,您正试图访问它。确保可变灯光已初始化,或者它在后台有对电影剪辑的引用。

您正试图像在Flash IDE中一样访问movieClip,在Flash IDE中,您在“属性”面板中设置了“名称”属性,这就是在AS3中访问它的方式

但是,在AS3中实例化movieClips时(也就是说,您没有将它们从库拖到后台),变量的设置是不同的

在这里,您应该引用“btn”而不是“light”


因为这就是您所称的变量

我认为您应该使用
getChildByName
方法

getChildByName("light").box.visible = false;

而不是
:light.box.visible=false

变量light已初始化,或者它引用了舞台上的电影剪辑
您能给我一个例子吗?light变量来自哪里?你初始化了吗?或者它是舞台上的一个电影剪辑?我将其设置为:
btn.name=“light”
getChildByName("light").box.visible = false;