我在movieClip上有一个蒙版,我希望播放器能够移动鼠标以显示该影片剪辑。 如何使遮罩上的多个路径加在一起而不是互相干扰?

var maskObj:MovieClip = new MovieClip();
pScalp.mask = maskObj;

//function on user input
//lastLeft,lastRight,tempLeft,tempRight refer to where the mouse is now and where it was before
    maskObj.graphics.beginFill(0x00000000);
    maskObj.graphics.drawPath(Vector.<int>([1,2,2,2,2]),
                          Vector.<Number>([lastLeft.x, lastLeft.y,
                                           lastRight.x, lastRight.y,
                                           tempRight.x, tempRight.y,
                                           tempLeft.x, tempLeft.y,
                                           lastLeft.x, lastLeft.y]),
                                           GraphicsPathWinding.NON_ZERO);
    pScalp.mask = maskObj;
    maskObj.graphics.endFill();
//end function

===============>>#1 票数:0 已采纳

据我所知,没有什么批发方式可以使所有东西都具有可加性,而与路径的方向无关。 相反,如果可以保证要绘制的路径上的点的顺序始终沿顺时针(或始终逆时针)方向,则使用GraphicsPathWinding.NON_ZERO应该会产生所需的加和效果。

已经有关于在SO上实现此目标的算法的讨论,即按顺时针顺序对四个点进行排序 ,这将有助于您达到此目的。

另外,这是指向有关缠绕规则的 Adobe文档的链接

  ask by QuinnBaetz translate from so

未解决问题?本站智能推荐: