0

好的,所以我有一个名为 sClose 的按钮(不是影片剪辑)。我还有一个名为 s 的按钮和一个名为 SMC 的影片剪辑。基本上,一切都在一个框架上。代码从隐藏 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) 行出现错误。它说“调用可能未定义的方法按钮”。为什么这么说?

4

1 回答 1

0

您实际上不需要将它转换为除 DisplayObject 之外的任何东西。你不使用任何 Button 的属性,所以如果你写

cB = DisplayObject(getChildByName(event.target.name + "Close"));
cB.visible=true;

它应该工作。

于 2013-09-26T05:35:03.890 回答