环绕(winding)就是一个路径环绕的方向,,分顺时针(正方向)和逆时针(负方向)。注意到Graphics类的drawPath函数的第三个参数:

drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void

winding是一个字符常量(在 GraphicsPathWinding类中定义),可取的值有两个:even-odd和non-zero。

even-odd是默认选项,也是传统的做法,即相交的区域不会填充。

non-zero选项不同于even-odd。要判断一个区域是否填充,需要考虑构成该区域边界的路径和是否为零。如果为零,则不填充;否则,填充。这种情况下,每个路径都会有一个数值,顺时针环绕路径的值为1,逆时针环绕路径的值为-1。

具体例子可以看下面:

AS3的环绕规则(winding rules)?

A是even-odd选项,不用管环绕方向。

B是non-zero选项,要特别注意环绕方向。

相关文章:

  • 2021-04-21
  • 2021-12-31
  • 2021-10-30
  • 2021-06-10
  • 2021-05-23
  • 2021-12-15
  • 2021-12-28
猜你喜欢
  • 2021-09-06
  • 2022-02-28
  • 2021-11-12
  • 2022-01-07
  • 2021-04-07
  • 2021-06-17
相关资源
相似解决方案