繁体   English   中英

ActionScript 3如何将getChildByName用于按钮(不是MovieClip)

[英]actionscript 3 how to use getChildByName for button (not MovieClip)

好的,所以我有一个名为sClose的按钮(不是影片剪辑)。 我还有一个名为s的按钮和一个名为sMC的动画片段。 基本上,所有内容都在同一帧上。 该代码通过使sMC隐藏和sClose隐藏开始。 现在,当您单击s时,将显示sMC和sClose。 SMC是一个屏幕,而sClose只是一个关闭按钮,如果您单击它,则它会隐藏自身并隐藏sMC。 因此,基本上,如果单击了sCLose,它将带您回到原始屏幕。 这是动作脚本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。” 为什么这样说呢?

您实际上不需要将其强制转换为DisplayObject以外的任何对象。 您不使用Button的任何属性,因此如果您编写

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

它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM