2010-07-27 63 views

回答

2
// Draw a simple circle, gray, with a radius of 24 px 

var circleColor:uint = 0xCCCCCC; 
var radius:uint = 24; 
var circle:Shape = new Shape(); 
circle.graphics.beginFill(circleColor); 
circle.graphics.drawCircle(radius, radius, radius); 
circle.graphics.endFill(); 
addChild(circle); 

圓如果你只想要圓的外邊緣,你可以用beginLine和endLine代替beginFill和endFill。

+0

錯誤:ACCES未定義的屬性圓的 。我得到這個錯誤要做 – dpaksp 2010-07-27 17:59:17

+0

對不起,我可能假設你的知識水平過高。正如Adrian指出的那樣,您需要擴展UIComponent類並覆蓋updateDisplayList。 – Robusto 2010-07-27 19:04:05

+0

謝謝,我知道了...我從兩天開始學習新鮮 – dpaksp 2010-07-27 19:07:59

2
  1. 創建從UIComponent衍生
  2. 覆蓋的updateDisplayList()方法將組件內的一類,並繪製圓
  3. 添加在面板的組件的一個實例;

Component類:

class MyCircle extends UIComponent 
{ 
    public function MyCircle() 
    { 
     super(); 
    } 

    override protected function updateDisplayList(width:Number, height:Number):void 
    { 
     super.updateDisplaylist(width,height); 

     this.graphics.clear(); 
     this.graphics.beginFill(0xff0000); 
     this.graphics.drawCircle(width/2, height/2, Math.min(width/2,height/2)); 
    }  
} 

面板組件:

<mx:Panel width = "400" height 
= "400"> 

    <local:MyCircle 
    width = "100%" 
    height = "100%"/> 

</mx:Panel> 
+0

如何使用這個例子我在根文件夾中嘗試過我有home.mxml和com文件夾中的動作腳本calss,它的地方代碼爲 panel code here 錯誤:無法解析到組件實現。 – dpaksp 2010-07-27 17:49:54

+0

當我看到你的命名空間定義..你需要在com中定義MyCircle as3-class。包,使其工作 – 2010-07-28 05:22:01