2011-04-18 69 views
0

我在我的程序中使用 graphics.lineTo(xx,yy);如何給圖形創建的對象提供深度?

該程序有一個背景圖像,通過這些圖像繪製這些線條。 我面臨的問題是圖像遮蔽了線條,線條對用戶不可見。

由於這些行沒有ID,我不知道如何爲它們分配深度?

任何輸入/建議都會有幫助嗎?

回答

0

我不知道你的代碼,但我會盡量指出一個方向。造成這種情況的最好辦法是將組件與特定orger類似下面的應用程序:

<s:Group> 
    <s:BitmapImage /> 
    <MyCustomComponent /> 
</s:Group> 

哪裏MyCustomComponent是類似以下內容:

public class MyCustomComponent extends UIComponent 
{ 
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
    { 
     super.updateDisplayList(unscaledWidth, unscaledHeight); 
     // Your drawings here: graphics.lineTo(xx, yy); 
    } 
} 

所以,現在您的圖紙將在更高級別比圖像。

0

的Z-index設置在顯示列表 如果你想帶什麼東西到顯示列表的頂部正好再次的addChild 例如

// this will place the BG on top of the myLinesSprite object 
var container:Sprite = new Sprite(); 
container.addChild(myLinesSprite); 
container.addChild(myBGimage); 

// now do another addchild 
var container:Sprite = new Sprite(); 
container.addChild(myLinesSprite); 
container.addChild(myBGimage); 
container.addChild(myLinesSprite); // updates displayList does not add twice 


// of course if you build it correctly the first time you wont have a worry 
var container:Sprite = new Sprite(); 
container.addChild(myBGimage); 
container.addChild(myLinesSprite);