如何用纯色填充actionscript 3多边形?

Cha*_*lts 1 actionscript polygon shape uicomponents fill

我正在为项目构建地图编辑器,需要绘制六边形并用纯色填充它.我的形状是正确的但是对于我的生活无法弄清楚如何填充它.我怀疑这可能是因为这个东西是Shape,Sprite还是UIComponent.这是我对多边形本身的看法:

import com.Polygon;
import mx.core.UIComponent;

public class greenFillOne extends UIComponent {
    public var hexWidth:Number = 64;
    public var hexLength:Number = 73;

    public function greenFillOne() {
        var hexPoly:Polygon = new Polygon;
        hexPoly.drawPolygon(40,6,27+(hexWidth*.25),37,0x499b0e,1,30);
        addChild(hexPoly);
    }
}
Run Code Online (Sandbox Code Playgroud)

Gle*_*enn 6

Polygon类不是标准的Adobe库,所以我不知道具体细节.但是,假设它使用标准的Flash API,添加一些代码来扩展函数应该没有问题.你只需确保graphics.beginFillgraphics.lineTo/ graphics.moveTo函数之前 做一个.然后完成graphics.endFill.

例如,

var g:Graphics = someShape.graphics;
g.beginFill(0xFF0000,.4); // red, .4 opacity 
g.moveTo(x1,y1);
g.lineTo(x2,y2);
g.lineTo(x3,y3);
g.lineTo(x1,y1);
g.endFill();
Run Code Online (Sandbox Code Playgroud)

这将绘制一个填充.4红色的三角形.