Re: [問題] 物件沒有Parent,但是在舞台上活著?
※ 引述《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
推
08/22 05:51, , 1F
08/22 05:51, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):