[討論] 圖層與 depth
在使用MovieClip.createEmptyMovieClip(name:String, depth:Number)
還有MovieClip.attachBitmap(bmp:BitmapData, depth:Number)
這些有牽涉到 depth(深度) 的method時
直得注意的是MovieClip.getNextHighestDepth()這個函式
顧名思義,getNextHighestDepth()可以回傳這個MC上面最高層的depth數
但它其實只是個單純的"累加"函式
第一次呼叫它會回傳0,第二次是1,第三次是2...依此類推
它無法判斷該depth是否已經有 display object(MovieClip, TextField...等) 在使用
所以一般來講建議盡量都使用getNextHighestDeth()
不要直接用Number literal指定depth
那麼這些AS中的depth
跟authoring(手動操作,無牽涉程式)的時候所用的layer(圖層)到底有什麼相關呢?
Flash在輸出.swf的時候會自動把layer上各物件的相對深度轉成depth
所以其實layer跟depth的概念是一樣的
但是authoring時做出的物件,會從-16383這個depth開始往上疊加
相較於getNextHighestDepth()從0開始累加是小得多了
所以用AS做出來的display object往往會蓋住authoring時做出來的物件
另外值得注意的是,MovieClip.removeMovieClip()這個method
它所適用的MC所在的depth必須在 0~1048575 之間
所以authoring時做出的MC通常是無法用這個method來移除的!!!
※如果有使用UI component 2.0,getNextHighestDepth()有時會回傳1048576
所以記得要留意一下是否有MC的depth超出 0~1048575
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.89.126
※ 編輯: cjcat2266 來自: 61.228.89.126 (10/05 03:19)
推
07/11 20:27, , 1F
07/11 20:27, 1F
Flash 近期熱門文章
PTT數位生活區 即時熱門文章