AS3:如何在运行时交叉向量?

时间:2013-03-20 16:30:44

标签: actionscript-3 vector-graphics

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

有没有办法在运行时创建一个新形状,这两个矢量形状重叠?

这些操作在所有矢量设计程序中很常见,例如Illustrator,Corel等......但我还没有在Adobe的文档中找到任何内容,也没有在其他地方找到任何操作,代码。

1 个答案:

答案 0 :(得分:1)

虽然Graphics类的绘制操作是用线,点等来描述的,但就你而言 - 只是告诉它要绘制到位图上的内容。一旦绘制就没有办法去除一个形状,没有clear(),只需擦拭整个东西​​。

我不完全理解为什么,因为必须保留矢量数据 - 例如,绘图后缩放的质量不会降低。

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

How to calculate intersection between shapes in flash / action script ? (access to shape's segments and nodes?)

如果不是这样,如果它只是化妆品,你可以玩屏蔽形状(虽然可能最终会非常hacky) - 但是,如果你真的想用交叉点绘制或描述一个形状,你需要挖掘你的数学书或寻找一个好的图形库。

希望这有帮助