在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都消失。 展开
具体是:
这是之前给按钮添加的动作。
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都消失。 展开
2个回答
展开全部
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,除了数外,不能输入其它字符
如果不是你想要的效果的话,请无视以上
而在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,除了数外,不能输入其它字符
如果不是你想要的效果的话,请无视以上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询