是否可以在特定圖層上的動畫片上繪製精靈?在圖層之間繪製精靈
我有一個我在Flash設計器中創建的MC,它有3層,背景,一些佈局的東西,然後是一些文本。在actionscript中,我創建了一個代碼中的Sprite對象,並在其上繪製了一個矩形,並將其添加到使用addChild(從MC內部調用)的舞臺上
問題是,精靈總是被繪製在所有佈局的東西,我加入了設計師。
有什麼方法可以將精靈添加到特定圖層的MC上嗎?在這種情況下,背景層。
我試着改變精靈上的z並沒有效果。
是否可以在特定圖層上的動畫片上繪製精靈?在圖層之間繪製精靈
我有一個我在Flash設計器中創建的MC,它有3層,背景,一些佈局的東西,然後是一些文本。在actionscript中,我創建了一個代碼中的Sprite對象,並在其上繪製了一個矩形,並將其添加到使用addChild(從MC內部調用)的舞臺上
問題是,精靈總是被繪製在所有佈局的東西,我加入了設計師。
有什麼方法可以將精靈添加到特定圖層的MC上嗎?在這種情況下,背景層。
我試着改變精靈上的z並沒有效果。
更改「z」是一個不錯的嘗試,但它什麼都不會做。
實際上,所有的影片剪輯都是按照特定的順序堆疊的。當繪製完成時,按照該順序完成,就像一位畫家用新的圖形覆蓋圖形一樣。更改「z」值將改變該影片剪輯的感知深度,但不會更改影片剪輯的繪製順序。由於您的精靈位於所有影片剪輯之上,即使您更改了「z」,它也始終是最後一個要繪製的影片。
使用ActionScript時,「圖層」實際上不存在。這是一個只能通過Flash Professional使用的概念。最後,Flash Professional會將其圖層轉換爲addChild()請求。
因此,您可以使用addChildAt()方法放置新的影片剪輯。索引值爲0時,新的影片剪輯將繪製在所有其他影片剪輯下方,而不是頂部。
您必須找到參考影片剪輯的索引(例如,通過在Flash Pro中爲其指定一個實例名稱「reference」),以便您可以使用「getChildIndex(reference)」檢索其索引。然後,您可以使用addChildAt()將新的影片剪輯設置在此索引的頂部或下方。如果您將相同的索引設置爲引用的影片剪輯,則它將在其下方。
另一種技術可能是創建一種您在Flash Professional中的圖層中設置的虛擬影片剪輯(「虛擬」),然後在虛擬影片剪輯中添加新的影片剪輯,並添加「dummy.addChild( )」。
如果您想通過一個「圖層」中的ActionScript對幾個圖形進行重組,以便使用addChildAt()在顯示列表中輕鬆移動組,可以將它們添加到Sprite對象中,然後移動Sprite。
將舞臺上所需的對象隱藏到動畫片段。這些影片剪輯可能位於不同的圖層上。然後使用函數setChildIndex(),swapChildrenAt()和getChildIndex()來實現所需的效果。如果您向我展示代碼,我可以評論更多。可以在
中找到有關功能的更多細節也看看http://www.flashandmath.com/intermediate/depths/index.html
使用addChildAt(精靈,索引); 該索引處的對象將上升一級。
好的,但在我的情況下,'遊戲'MC有3層,第一層有一個png位圖對象,第二層有多個png位圖對象用於佈局,第三層有一些文本域對象。由於這些圖層都不是MC,我可以使用addChildAt(sprite,0)將精靈放在背景層中嗎? (在佈局層的東西下面) – LoveMeSomeCode
好的,我明白了。使用純圖像時可能會出現一些問題:由於Flash Pro在內部管理它,因此我們無法爲其指定實例名稱,並且我們無法輕鬆獲取其子索引。無論如何,你可以把addChildAt(精靈,0),但它會在背景後面。 addChildAt(sprite,1)可能會讓你的精靈在背景之前變得更好。但是,您必須知道,如果Flash Pro之間沒有MovieClip,則有時會合並原始圖像。解決方法是在MovieClip中轉換圖像:它們將有一個真實的子索引,就像另一個MovieClip一樣。 –
是的,我將我想要繪製的佈局轉換成MC。所以它的索引現在是1,而背景和其他佈局bmps是索引0.如果我在索引1處繪製精靈,它似乎工作,並且佈局mc充當掩碼。謝謝! – LoveMeSomeCode