Flash MX 2004的 UI2組件帶來一個bug 就是:舞臺上或者庫里存在UI2組件,使用_root.getNextHighestDepth();得出來的值就是大于或者等于1048576了,換句話說getNextHighestDepth()這個命令在這里就是失效了.此時所獲得的層的深度就已經超出了Flash層的動態區(0~1048575)。所有存放在超出動態區的MC都是無法用removeMovieClip()刪除的. 原因就是因為插入UI2組件或者在庫中存放有UI2組件的時候,flash會自動在_root里的層動態區里的最高兩個層里添加兩個看不見的mc:_level0.reserved和_level0.focusManager 用 trace(_root.getInstanceAtDepth(1048575)); 和 trace(_root.getInstanceAtDepth(1048574)); 就可以看到. 解決方法就是在_root第一幀動作的最前面增加 _root.reserved.swapDepths(0);和 _root.focusManager.swapDepths(1)這兩個語句,然后 trace(_root.getNextHighestDepth()); 就可以得到是3而不是1048576了.
|
|
|
|
posted on 2006-05-23 20:08
blog搬家了--[www.ialway.com/blog] 閱讀(409)
評論(0) 編輯 收藏 所屬分類:
AS2.0