2012-01-03 62 views
0

比方說,我有以下MXML:如何在ActionScript中訪問組內橢圓的屬性?

 <s:Group id="b01"> 
      <s:Ellipse x="267" y="96" width="30" height="28"> 
       <s:stroke> 
        <s:SolidColorStroke color="white" weight="1" /> 
       </s:stroke> 
       <s:fill> 
        <s:SolidColor color="#F2FF00" alpha="0.5" /> 
       </s:fill> 
      </s:Ellipse> 
     </s:Group> 

而且,我有這些團體的十多個不同的ID。我如何使用ActionScript修改每個Ellipse的填充顏色?我知道我可以這樣做:

b01.getElementAt(0).width; 

而這會給我橢圓的寬度。但是,如何訪問SolidColorStroke顏色或SolidColor填充?

回答

1

要改變顏色,你可以使用:

SolidColor(Ellipse(b01.getElementAt(0)).fill).color = 0xFF0000; 

,或者你可以--as你爲s:Group標籤設置id每個s:SolidColor標籤 - 通過id.color = 0xFF0000;

並改變其顏色
<s:Group id="b01"> 
    ... 
     <s:fill> 
      <s:SolidColor id="f01" color="#F2FF00" alpha="0.5" /> 
     </s:fill> 
    ... 
</s:Group> 
+0

謝謝!這工作:) 現在,讓我們說,我也有一個'Rect' ...我怎樣才能編程確定它是否是一個'橢圓'或'Rect'? – Titus 2012-01-05 19:51:56

+1

我沒有測試購買我認爲你可以通過'if(b01.getElementAt(0)is Ellipse')或'if(b01.getElementAt(0)Rect)'來做。工作奇蹟的 – Fabricio 2012-01-05 21:14:34

+0

。再次感謝 :) – Titus 2012-01-05 22:23:35

1
(b01.getElementAt(0) as Ellipse).stroke = new SolidColorStroke(...) 

(b01.getElementAt(0) as Ellipse).fill = new SolidColor(...)