作者cjcat2266 (CJ Cat)
看板Flash
标题[讨论] 图层与 depth
时间Fri Oct 5 03:18:19 2007
在使用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)
1F:推 versitility:推推 07/11 20:27