Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3:如何在运行时相交向量?_Actionscript 3_Vector Graphics - Fatal编程技术网

Actionscript 3 AS3:如何在运行时相交向量?

Actionscript 3 AS3:如何在运行时相交向量?,actionscript-3,vector-graphics,Actionscript 3,Vector Graphics,假设我在运行时使用Graphics类动态绘制一些向量形状。例如一个正方形和一个圆形 有没有一种方法可以在运行时创建一个新形状,其中两个向量形状重叠 这些操作在Illustrator、Corel等所有矢量设计程序中都非常常见。。。但是我在Adobe的文档中或其他任何地方都没有找到任何代码来完成这项工作。尽管图形类上的绘图操作是用线条、点等来描述的,但就您而言,这只是告诉它在位图上绘制什么。一旦绘制了一个形状,除了clear(),就无法删除它,因为它只会将整个东西擦拭干净 我不完全理解为什么,因为矢

假设我在运行时使用Graphics类动态绘制一些向量形状。例如一个正方形和一个圆形

有没有一种方法可以在运行时创建一个新形状,其中两个向量形状重叠


这些操作在Illustrator、Corel等所有矢量设计程序中都非常常见。。。但是我在Adobe的文档中或其他任何地方都没有找到任何代码来完成这项工作。

尽管图形类上的绘图操作是用线条、点等来描述的,但就您而言,这只是告诉它在位图上绘制什么。一旦绘制了一个形状,除了clear(),就无法删除它,因为它只会将整个东西擦拭干净

我不完全理解为什么,因为矢量数据必须保留——例如,在绘图后缩放时没有质量损失

如果你不想进入一些核心数学(对于直线以外的任何东西,你都需要)这里有一个答案,如果你曾经使用过PixelBender,可能会有所帮助:

如果不是这样的话,如果只是装饰性的,你可以玩弄遮罩形状(虽然可能会很粗糙)——但是,如果你真的想用交叉点来绘制或描述形状,你需要翻出你的数学书或寻找一个好的图形库


希望这有帮助

我的第一个方法是掩蔽,但是精灵的测量方法不正确,因为它们也包括隐藏的部分。至于使用像素折弯机,它可以工作。。。但这不是我要找的。我对你的答案投了赞成票,但要等它被接受后再做决定。谢谢你的输入。那么你真的在寻找一个相交空间的数学描述,在可以重绘的向量形状的意义上,还是你只是在寻找图形?如果希望形状遮罩不起作用,则需要计算它。我想您可能想查看四叉树以优化检查过程,但我以前没有这样做过,所以我不是100%