AS在FLEX下如何画半圆

发布于 2022-08-24 10:22:18 字数 278 浏览 25 评论 0

用FLEX,确切的说是AS代码。画圆可以用下面这样的代码:

graphics.clear();
var radius:Number = Math.min(this.width,this.height)/2;
graphics.beginFill(fillColor,fillAlpha); //填充颜色
graphics.drawCircle(width/2,height/2,radius);
raphics.endFill();

可是如果是半圆呢?或者说,我想画两个不同颜色拼起来的半圆成为一个整圆怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手长情犹 2022-08-31 10:22:18
    graphics.beginFill(0xFF0000);
    halfCircle(graphics, 200,200, 100);
    // original circle function by senocular (www.senocular.com) from here http://www.actionscript.org/forums/showthread.php3?s=&threadid=30328
    function halfCircle(g:Graphics, x:Number,y:Number,r:Number):void {
        var c1:Number=r * (Math.SQRT2 - 1);
        var c2:Number=r * Math.SQRT2 / 2;
        g.moveTo(x+r,y);
        g.curveTo(x+r,y+c1,x+c2,y+c2);
        g.curveTo(x+c1,y+r,x,y+r);
        g.curveTo(x-c1,y+r,x-c2,y+c2);
        g.curveTo(x-r,y+c1,x-r,y);
        // comment in for full circle
        /*g.curveTo(x-r,y-c1,x-c2,y-c2);
        g.curveTo(x-c1,y-r,x,y-r);
        g.curveTo(x+c1,y-r,x+c2,y-c2);
        g.curveTo(x+r,y-c1,x+r,y);*/
    };

http://actionsnippet.com/?p=1515

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文