1

我在数组中有三个点。我想用这个点画一个三角形。

现在,我使用 MoveTo() 和 LineTo() 函数来绘制这个三角形的边框。

问题是,我还需要绘制这条线创建的区域的内部背景。

有没有办法做到这一点?

4

1 回答 1

4

你应该使用graphics.beginFill(color);

public function astest()
{
    var verticies:Vector.<Point> = Vector.<Point>([new Point(0, 100), new Point(100, 0), new Point(100, 100)]);
    var sh:Shape = new Shape();
    addChild(sh);

    drawPolygon(sh.graphics, verticies, 0xFF0000);
}

protected function drawPolygon(graphics:Graphics, verticies:Vector.<Point>, color:uint):void
{
    graphics.beginFill(color);
    var p:Point = verticies.shift();
    graphics.moveTo(p.x, p.y);
    for(var i:int = 0; i < verticies.length; i++)
    {
        p = verticies[i];
        graphics.lineTo(p.x, p.y);
    }   
    graphics.endFill();
}
于 2013-01-28T14:47:34.860 回答