as3:仅使用actionscript绘制一个带有洞的圆圈

时间:2010-09-02 18:47:10

标签: actionscript-3

好吧基本上我想在as3中绘制一个圆圈,里面有一个“洞”(就像甜甜圈一样)。这样的事情,但没有大纲:

http://www.steel.ie/DugganSteel/Pictures/Hollow-circle.gif

这不起作用:

SPRITE.graphics.beginFill(0xFFFFFF);
SPRITE.graphics.drawCircle(0,0,10);
SPRITE.graphics.endFill();
SPRITE.graphics.drawCircle(0,0,5);

我的意思是这似乎很简单,但我找不到任何相关信息。我还要提一下,我试图只画出3/4的圆圈,就像3/4的甜甜圈一样。所以我打算在原始圆圈上绘制一个透明的圆圈和正方形,我知道这看起来有点奇怪,因为你会期望透明的东西在它下面展示什么。

4 个答案:

答案 0 :(得分:10)

它实际上非常简单。请参阅以下代码:

var p:Point = new Point(100, 100);
graphics.beginFill(0xFF0000);
graphics.drawCircle(p.x, p.y, 100);
graphics.drawCircle(p.x, p.y, 50);

交叉点互相取消,直到您拨打endFill

古德勒克!

答案 1 :(得分:2)

您可以将线条粗细设置为所需的圆环宽度,并避免使用beginFill 设置graphics.lineStyle 为了使它只有3/4左右你可以使用curveTo绘制3个季度。

答案 2 :(得分:1)

Tyler的上述方法有效,但是如果更简单的方法是首先简单地开始绘制内圈。基本上Flash实际上并没有填充颜色,直到你调用endFill()(再次提到Tyler),所以你开始绘制内圈,然后外圈然后在endFill() Flash填充间隙。

SPRITE.graphics.beginFill(0xFFFFFF);
SPRITE.graphics.drawCircle(0,0,5);
SPRITE.graphics.drawCircle(0,0,10);
SPRITE.graphics.endFill();

希望这能为你解决问题。

答案 3 :(得分:0)

Flash绘图API简介,将帮助您了解更多信息:

http://www.senocular.com/flash/tutorials/flash10drawingapi/