作者scars (scars)
看板Flash
标题Re: [问题] 物件没有Parent,但是在舞台上活着?
时间Sun Aug 21 18:36:17 2011
※ 引述《dsmwang (科科)》之铭言:
: 因为compile问题显示,#1009,无法存取null属性或方法
: 我仔细检查後,发现这个photos的parent是null,
: 所以我原本下的menu.removeChild(photo)出现错误
例如你 add photo 的程序错误产生了 photo A 跟 photo B
那 photo 这个 reference 多半会在 photo B 身上
menu.removeChild(photo)移除了 photo B
photo B 的 parent 已经是 null 了
photo A 却没有 reference,当然也移除不了
因为我不知道你是怎麽 new 出 photo 并 add 上去的
所以也没办法提出一个精确的解法
这里提供一个方向
需要remove photo的时候发出一个事件bubble到stage
例如
dispatchEvent(new Event('menu_mouseout',true))
photo里面
addEventListner(Event.ADDED_TO_STAGE,added);
addEventListner(Event.REMOVED_FROM_STAGE,removed);
function added(e:Event){
stage.addEventListner('menu_mouseout',removeSelf)
}
function removed(e:Event){
stage.removeEventListener('menu_mouseout',removeSelf);
}
removeSelf里面就是 parent.removeChild(this)
这样你上层不用有 photo 的 reference 也可以移除所有的 photo
虽然没解决你多余photo出现的bug
但至少可以让他们可以自己移除了
--
'Cause you are beautiful
your scars are beautiful
like the jade
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.42.171
1F:推 dsmwang:感谢s大,之後来试试 =) 08/22 05:51