2011-10-31 55 views
0

我動態創建一個畫布,我需要在畫布內的背景圖像。創建畫布時會接受拖放,但背景圖像不顯示。setStyle backgroundImage在Flex動作不起作用

在畫布觸發是:

buttonNew.addEventListener("click",addCanvas); 

畫布代碼:

private function addCanvas(oEvent:Event):void 
      { 
       caNew = new Canvas(); 
       caNew.id = "cart" 
       caNew.name = "Shopping Cart"; 
       caNew.x = 100; 
       caNew.y = 450; 
       caNew.width = 200;       
       caNew.height = 146;    
       caNew.setStyle("backgroundImage",cart_icon); 
       //caNew.setStyle("backgroundColor","#98AEEF"); 
       this.addChild(caNew); 
       caNew.addEventListener(DragEvent.DRAG_ENTER, dragAcceptShop); 
       caNew.addEventListener(DragEvent.DRAG_DROP, dragDropShop); 

       laNew = new Label(); 
       laNew.id = "contain" 
       laNew.text = "Shopping Cart"; 
       laNew.x = 100; 
       laNew.y = 450; 
       laNew.width = 120;       
       laNew.height = 50; 
       this.addChild(laNew); 

      } 

我在做什麼錯?就像我使用backgroundImage一樣,它工作正常,只有顏色有效。

+0

你在哪裏定義cart_icon? – JeffryHouser

+0

[嵌入( 「資產/ Cart.png」)] \t \t \t [綁定] \t \t \t私人變種cart_icon:類; –

+0

在代碼中,即使我嘗試在引用「assets/Cart.png」中添加完整源代碼仍然無效 –

回答

0

您沒有指定您使用的是哪個版本的Flex SDK,但backgroundImage不是Spark主題中的可用樣式。 Spark是Flex 4(及更高版本)項目的默認主題。 Check out all available sytles

一種選擇是將一個Image組件添加爲畫布上的第一個子項。

+0

我正在使用Flex 4.5,並將嘗試將圖像組件添加爲畫布中的子項。如果他們允許backgroundImage會更容易... –

+0

謝謝...畫布上的孩子做到了這一招。 –