1.4.0版本mask组件的_sgNode.stencil返回null

从1.2版本升级过来之后,原来脚本里的this.node.getComponent(cc.Mask)._sgNode.stencil返回null了
我想知道怎么样再获得这个stencil,请求指教

你有 3 种方法可以得到:

var maskComp = this.node.getComponent(cc.Mask);

  1. 通过 maskComp._clippingStencil;
  2. 通过 maskComp._sgNode._stencil;
  3. 通过 maskComp._sgNode.getStencil();

谢谢大佬,不过前面我已经说过了,返回null
实际上三种方法都试过了,返回null
在chrome调试的时候,mask下stencil是drawnode实例,但是上面三种方法还是返回nulll,这一点确实百思不得解

嗯,确实在 onLoad 的时候有这个问题,应该 CCMask 创建阶段是在 onEnable 的时候,由于会先执行 onLoad 所以导致 stencil 为 null,在 start 就不会出现(如果比较紧急可以在 start 里面去做操作)

原来如此,忘记这个了,谢谢大佬
由于某些不知名的原因把脚本和mask的组件顺序换了,这个问题就出现了

1.5 会修复 onLoad 时获取不到的问题 https://github.com/cocos-creator/engine/pull/1590