如何在flex中绘制一个显示数字的圆圈

时间:2009-03-28 17:07:51

标签: actionscript-3 flex3

我是新手,所以如果我没有使用正确的词语提出以下问题,请原谅我。我想知道是否有办法绘制一个显示数字的圆圈,就像前面一样。 Graduated Circles表示其半径以显示其相关性。是否有一个已经这样做的组件,如果没有,最好的方法是什么。

感谢。

3 个答案:

答案 0 :(得分:3)

以下是一个关于如何做到这一点的快速示例(继续满足您的特定需求)

package  
{
    import flash.text.TextFormatAlign;  
    import flash.text.TextField;    
    import flash.display.Sprite;
    import flash.text.TextFormat;   

    public class LabeledCircle extends Sprite 
    {
        private var textField:TextField;

        public function LabeledCircle(radius:Number, label:String = "")
        {
            // Prepares the textField

            var textFormat:TextFormat = new TextFormat();
            textFormat.align = TextFormatAlign.CENTER;

            textField = new TextField();
            textField.defaultTextFormat = textFormat;

            addChild(textField);

            // Sets the default parameters

            this.radius = radius;
            this.label = label;
        }


        public function set radius(radius:Number):void
        {
            // redraws the circle
            graphics.clear();
            graphics.beginFill(0x000000, .5);
            graphics.drawCircle(0, 0, radius);

            // recenters the textfield depending on the radius
            textField.width = radius * 2;
            textField.x = -radius;
        }


        public function set label(label:String):void
        {
            textField.text = label;
        }
    }
}

答案 1 :(得分:1)

Flare的组件类似于您发布的链接中的同心圆示例。请参阅布局> demo中的CirclePack。

我还不确定'关联一个数字'是什么意思。试试this:在路径上渲染文字。

答案 2 :(得分:0)

  • Actionscript Drawing API - 示例here
  • Degrafa - 图形框架,使Drawing API更易于使用,并包含一个圆圈类