关于橡皮擦效果的混合参数

    var v2 = this.scratchNode.convertToWorldSpace(cc.v2(-this.scratchWidth / 2, this.scrathHeight / 2));

    v2 = this.scratchNode.convertToWorldSpace(cc.v2(0, 0));

     //需要被擦除部分
    this.drawMask.drawRect(cc.p(0, 0), cc.p(this.scratchWidth, this.scrathHeight), cc.color(0, 255, 255, 255), 1, cc.color(128, 128, 0, 255));
    //建立缓冲材质对象
    var rt = new cc.RenderTexture(this.scratchWidth, this.scrathHeight);
    
    this.scratchNode._sgNode.addChild(rt);
    
    //绘制需要被擦除部分
    rt.begin();
    this.drawMask.visit();
    rt.end();
    
    var e1 = new cc.DrawNode();
    var self = this;

    //touch事件中进行擦除
    this.touchListener = cc.eventManager.addListener({
        event: cc.EventListener.TOUCH_ONE_BY_ONE,
        onTouchBegan: function (touch, event) {
            return true;
        },
        onTouchMoved: function (touch, event) {
            
            var pos = touch.getLocation();
            var target = event.getCurrentTarget();
            var pos1 = target.convertToNodeSpaceAR(pos);

            e1.drawDot(cc.p(pos1.x + (self.scratchWidth / 2),pos1.y + (self.scrathHeight / 2)), 40, cc.color(255, 255, 255, 255));
            //e1.drawRect(cc.p(0, 0), cc.p(self.scratchWidth / 2, self.scrathHeight / 2), cc.color(0, 255, 255, 0), 1, cc.color(128, 128, 0, 0));
    
            //e1.setBlendFunc(cc.BlendFunc.ADDITIVE);
            //e1.setBlendFunc(cc.ONE_MINUS_DST_ALPHA, cc.ONE);
            //e1.setBlendFunc(new cc.BlendFunc(771, 0));
            //e1.setBlendFunc(new cc.BlendFunc(cc.ONE, cc.SRC_ALPHA));

            //e1.setBlendFunc(cc.SRC_ALPHA, cc.ZERO);
            //e1.setBlendFunc(cc.ZERO, cc.ONE_MINUS_SRC_ALPHA);


            //巨坑。这里参数怎么填都不对,只有这条,能正常擦除,但是擦除部分是矩形
            e1.setBlendFunc(new cc.BlendFunc(771, 0));

            rt.begin();
            e1.visit();
            rt.end();
        }
    }, rt);

如上方代码所示,1.6.1版本,根据混合公式,参数怎么填都无法正常擦除,只有hardcode值时才能擦除,但是被擦除的部分是矩形。官方解答一下?

顶顶,这个setBlendFunc()函数括号里面到底要填什么参数才能正常使用哦?