Creator2.0.1遮罩bug

CCMask.js:392 Uncaught TypeError: Cannot read property ‘clear’ of undefined
at cc_Mask._updateGraphics (CCMask.js:392)
at cc_Mask.set [as type] (CCMask.js:107)
at RedBlackPlayerInfo.init (RedBlackPlayerInfo.ts:103)
at RedBlackPlayerInfo.onLoad (RedBlackPlayerInfo.ts:81)
at CCClass.eval [as _invoke] (eval at createInvokeImpl (component-scheduler.js:256), :3:65)
at CCClass.invoke (component-scheduler.js:154)
at CCClass.activateNode (node-activator.js:227)
at cc_Node._onHierarchyChanged (base-node.js:1178)
at cc_Node._onHierarchyChanged (CCNode.js:1233)
at cc_Node.setParent (base-node.js:396)

网页版报错,我设置遮罩的类型时报错

解决了,不能再onLoad()回调改变mask的类型例如
let mask = this.headMask.getComponent(cc.Mask);
mask.type = cc.Mask.Type.ELLIPSE;
mask.segements = 64;
mask.inverted = false;
在其他时机在改变Mask的类型,这是是bug还是我的使用方式不对呢,反正旧版本这样写是可以的

mask的type是 1 2 3 是数字 不是字符 更新版本后 出了问题建议先去看api和文档 都知道改动

2.0.1版本 webview在ios上显示不了内容。。

cc.Mask.Type.ELLIPSE;这个就是数字Number吧。是枚举类型

尝试了一下, 在代码中动态创建mask的时候, 需要先把mask节点加入节点树以后,再设置其遮罩类型. 否则会报错.这应该是一个bug吧?

var maskNode = new cc.Node(“circleMaskNode”);
var mask = maskNode.addComponent(cc.Mask);
mask.type = cc.Mask.Type.ELLIPSE;
以上代码执行会报和楼主一样的错误

以下代码正常
var maskNode = new cc.Node(“circleMaskNode”);
var mask = maskNode.addComponent(cc.Mask);
maskNode.parent = this.node;
mask.type = cc.Mask.Type.ELLIPSE;