actionscript 3如何使用getChildByName作为按钮(不是MovieClip)

时间:2013-09-25 16:00:57

标签: actionscript-3 mouseevent movieclip

好吧我有一个名为sClose的按钮(不是影片剪辑)。我还有一个名为s的按钮和一个名为sMC的movieclip。基本上,一切都在一个框架上。代码以隐藏sMC和隐藏sClose开始。现在,当您单击s时,会出现sMC和sClose。 SMC是一个屏幕,sClose只是一个关闭按钮,如果你点击它,它会隐藏自己,它隐藏了sMC。所以基本上,如果单击sCLose,它会将您带回原始屏幕。这是actionscript 3 cpde。

sMC.visible=false;
sCLose.visible=false;
s.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
    var focus;
    var cB;
    focus = MovieCLip(getChildByName(event.target.name + "MC"));
    cB = Button(getChildByName(event.target.name + "Close"));
    focus.visible=true;
    cB.visible=true;

当我运行代码时,MovieClip(getChildByName)行没有错误,但是它给Button(getChildByName)行一个错误。它说“调用可能未定义的方法Button”。为什么这么说呢?

1 个答案:

答案 0 :(得分:0)

除了DisplayObject之外,您不需要将其强制转换为任何内容。如果你写

,你不要使用任何Button的属性
cB = DisplayObject(getChildByName(event.target.name + "Close"));
cB.visible=true;

它应该有用。