Creator 版本号:1.6
混合方式是从cocos2dx 搬过来的,但是显示结果却不同,具体请看以下部分,请大神帮忙看一下
-
见图:
a. 模拟器:
绿色为画笔模式,有一圈一圈的透明
擦除正常
b. web:

蓝色为擦除模式, 绿色为画笔模式,都有一圈一圈的透明 -
代码
只列出部分
/**
* 绘画
*/
_Paint: function(brush, x, y, scale, color) {
var node = new cc.Node();
node.parent = this.node;
node.setPosition(x, y);
node.color = color;
node.setScale(scale);
var b = node.addComponent(cc.Sprite);
b.spriteFrame = brush;
b.dstBlendFactor = cc.BlendFunc.BlendFactor.ONE_MINUS_SRC_ALPHA;
b.srcBlendFactor = cc.BlendFunc.BlendFactor.SRC_ALPHA;
node._sgNode.visit();
node.destroy();
},
/**
* 擦除
*/
_Eraser: function(brush, x, y, scale, color) {
var node = new cc.Node();
node.parent = this.node;
node.setPosition(x, y);
node.color = color;
node.setScale(scale);
var b = node.addComponent(cc.Sprite);
b.spriteFrame = brush;
b.srcBlendFactor = cc.BlendFunc.BlendFactor.ZERO;
b.dstBlendFactor = cc.BlendFunc.BlendFactor.ONE_MINUS_SRC_ALPHA;
node._sgNode.visit();
node.destroy();
},