blog.Ring.idv.tw

「Layer」、「Level」和「Depth」之間的三角關係(一)

「Layer」、「Level」和「Depth」之間的三角關係(一)


「Layer」、「Level」和「Depth」之間的三角關係,是往往造成初學者疑惑的地方~本文將透過一連串的實例來探討這三者之間的關係,來奠定往後學習各種MovieClip相關操作的程式基礎。

「Layers」將被轉化為「Depths」

「Layer」意指為我們在圖形化介面製作相關的Flash動畫時,所呈現給設計者視覺化的「圖層」順序(如圖一),有「Layer 1」、「Layer 2」、「Layer 3」和「Layer 4」,我們依序給予「黑色方形(a_mc)」、「紅色方形(b_mc)」、「橙色方形(c_mc)」的三個MovieClip,並在「Layer 4」下一些程式以供驗證:

圖一

程式一

trace("a_mc:"+a_mc.getDepth());
trace("b_mc:"+b_mc.getDepth());
trace("c_mc:"+c_mc.getDepth());
trace(_root);
trace(a_mc);
trace(b_mc);
trace(c_mc);

結果:

a_mc:-16383
b_mc:-16381
c_mc:-16379
_level0
_level0.a_mc
_level0.b_mc
_level0.c_mc

從結果中,我們可以清楚地知道各個MovieClip所處在的「Depth」,根據[1]官方文件得知「Depth」的範圍是從-16384~1048575,而[2]卻指出範圍可達-16384~2130690045,然而根據筆者測試的結果,其「Depth」範圍在「-16384~2130690044」均可指定,差別只在於負數「Depth」的MovieClip欲移除時必須做額外的處理,可參考「unloadMovie()」vs.「removeMovieClip()」差異(一)這篇的說明,所以從上述的結果來看,各個方形的MovieClip均取決於系統所指定的「Depth」,然而這些取決於系統所指定的「Depth」,必然不能違背我們在設計上的「Layer」順序,所以我們可得到一個結論,設計者在製作時期所排定的「Layers」順序將被轉化成「Depths」,另外值得一提的是,這些各個MovieClip都處於「Level 0」的位置。

倘若我們在同一圖層放置多個MovieClip,然後再個別觀察其「Depth」,其實終究的結果仍然會印證上述的結論,您可以自己試著動手嘗試看看~

參考資料:

[1]Managing movie clip depths

[2]http://jerryzz.7blog.net/user1/4868/archives/2005/198327.shtml

範例下載

2007-06-03 00:07:04

Leave a Comment

Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: Ads :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment