[討論] 圖層與 depth

看板Flash作者 (CJ Cat)時間18年前 (2007/10/05 03:18), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
在使用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
文章代碼(AID): #171Jn-99 (Flash)
文章代碼(AID): #171Jn-99 (Flash)