在as3.0中,舞台上一个影片剪辑被多次add,如何将其一次性用按钮移除掉。能解决问题的一定再加分。

在as3.0中,由于之前给按钮监听的动作,可能舞台上一个影片剪辑被多次add,如何将其一次性用按钮移除掉。具体是:这是之前给按钮添加的动作。if(h1>0){addChi... 在as3.0中,由于之前给按钮监听的动作,可能舞台上一个影片剪辑被多次add,如何将其一次性用按钮移除掉。
具体是:
这是之前给按钮添加的动作。
if(h1>0){
addChild(mc_hbael);
}else{
try{
removeChild(mc_hbael);
}
catch(e){}
}
现在我想通过给另一个按钮添加动作,让舞台上所有的mc_hbael都被移除掉。
于是:
btn_sc.addEventListener(MouseEvent.CLICK,remove);
function remove(event:MouseEvent):void{
try{
removeChild(mc_hbael);
}
catch(e){}
}
结果有时有效,有时失灵。
请教高手谢谢~
PS:我是菜鸟,麻烦详细点指出错误,并写下代码。
我上面的效果是:
点击第一个按钮,
当h1内的数字>0时舞台上添加mc显示;
当h1内数字<=0,则移除舞台上的mc。
(我要在不影响这个显示动作的情况下)
点击另一个按钮,使舞台上的所有的mc都消失。
展开
 我来答
alanbabbage
2011-05-24 · TA获得超过979个赞
知道小有建树答主
回答量:755
采纳率:0%
帮助的人:1149万
展开全部
LZ你的效果只是显示和不显示而已吧,为何要添加和移除呢,用可见度代替不行?就visible的true,false问题。

而在as3.0中,同一个元件就算被add多次,都只有一个元件而已,add的功能就像是移那个元件到哪里而已。所以在你的舞台上并没有多个mc_hbael,除非你add的不是同一个元件。(但为何要add不同元件?)
代码并没有错,的确那个按钮就是删除的,有时失效,这个说不清。因为不知你源文件

如果你定要add不同元件,又要删去,但又删不去的话,你不防在add之前或后,将那个元件放到数组里面去,之后删除时,将那个数组遍历一次,将其删除,当然,为了避免,还是加个条件
不为undefined和不为null时才removeChild

以为是个人YY

h1是个文本框变量,我改成文本框命名,则代码

h1.restrict = "0-9 \\-";
btn_check.addEventListener(MouseEvent.CLICK,CheckAnswer);
function CheckAnswer(e) {
if (h1.text == "") {
h1.text = 0;
}
if (Number(h1.text) > 0) {
mc_hbael.visible = true;
} else {
mc_hbael.visible = false;
}
}
btn_sc.addEventListener(MouseEvent.CLICK,remove);
function remove(event:MouseEvent):void {
mc_hbael.visible = false;
}
其中场景内有一输入文本框,命名为h1
按钮btn_check,按钮btn_sc
元件mc_hbael

则效果为,点击按钮btn_check后会检测输入文本框的内容,如果超过0则元件mc_hbael
显示出来,如果不是则mc_hbael隐藏。当然内容为空时会默认是0,除了数外,不能输入其它字符

如果不是你想要的效果的话,请无视以上
封白凝
2011-05-24 · TA获得超过994个赞
知道小有建树答主
回答量:878
采纳率:0%
帮助的人:487万
展开全部

很简单,打开这个影片剪辑第一帧上按F9
输入下面代码就行了
setTimeout(aa,5000);
function aa(){
parent.removeChild(this);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式