cocos creator 2.0要怎样才能做一个自定义遮罩

cocos creator 2.0要怎样才能做一个自定义遮罩,mask只能做矩形、圆形、和图片遮罩,但是我需要做自定义形状的遮罩,请教大家有没有什么办法可以实现。
自定义形状的遮罩,是指可以用户自行编辑遮罩的轮廓!!!

this.mask._clippingStencil.clear();
this.mask._clippingStencil.drawPoly([cc.v2(0, 0), cc.v2(100, 100), cc.v2(0, 200)],color,0,color);

不知道2.0这些api还能不能哎 你试试

不用试了不能用

我试了一下,确实不能用,2.0的接口都变了

用图片拼接 :stuck_out_tongue_closed_eyes:

不行,这满足不了我的需求:sweat:

有办法的,mask 有一个 _graphics,可以用来绘制遮罩图形,但是我现在没空细说,等我把 2.0.1 发了先

6赞

好吧。。。其实我觉得:既然有这个功能,那干嘛不早点封装出来啊

可否大概说下怎么弄,然后我再自己调试得试试。我现在的理解是可以用一个带graphics组件的节点来绘制我想要的任意多边形图形,然后把这个graphics赋值给mask里面的_graphics,那接下来mask里面是不是也要设置一下其它的什么呢?

直接用 mask 里面的 _graphics,不要自己创建

但是mask 里面的 _graphics为null啊!

看源码,mask._graphics是有生命周期的,不是随时能获取到,但cc.Mask还是通过rect和ellipse方法去画遮罩的。所以我们的hack做法是,重写一下cc.Graphics.prototype.rectellipse,在里面抛出一个全局事件。需要自定义遮罩的组件监听这个事件,如果监听到事件时需要自定义的cc.Mask的mask._graphics===抛出事件的graphics,则控制mask._graphics去绘图即可。

2赞

看来我确实得放弃这个功能,这个做法,超出了我能力范围了。。。

2.0.1发了 请@panda 大神来填坑 :grin:

1赞

更新了 2.0.1 请@panda 大神来填坑

都2.02了, 请@panda 大神来填坑

官方很忙没空填这个坑了,还是靠自己研究源码吧

@panda 来填坑呀,api2.0不能用呀

都2.07了, 请@panda 大神来填坑

请问这个坑是否填上了呢?遮罩似乎还是不能用~