cocos creator实现ClipingNode效果

cocos creator 实现cocos2dx中ClipingNode效果,MaskEx继承Mask,重写了isHit和_updateGraphics方法,增加setStencil()方法

具体用法如下:

        this._clipNode = new Node("ClipingNode");
        this._clipNode.layer = Layers.Enum.UI_2D;
        let maskCom = this._clipNode.addComponent(MaskEx);
        maskCom.type = MaskEx.Type.GRAPHICS_RECT;
        this.node.addChild(this._clipNode);

        let stencilLayer = new Node("StencilLayer");
        stencilLayer.layer = Layers.Enum.UI_2D;
        stencilLayer.addComponent(UITransform).setContentSize(size(300, 300));
        this._clipNode.addChild(stencilLayer);  //注意:必须先addChild() 再setStencil()
        maskCom.setStencil(stencilLayer);

附上demo ClipingNode_demo.zip (15.3 KB) 。
注意:请使用3.6.1版本打开测试。
如有问题,欢迎指教,谢谢!