Cocos2d Javascript/浏览器中的 ClippingNode 和 Alphathreshold
Cocos2d ClippingNode and Alphathreshold in Javascript / Browser
我正在尝试在 Cocos2d-JS 中使用 png 作为掩码
像这样:
this.mask=cc.Sprite.create(cache.getSpriteFrame("bar_mask"));
this.maskedFill = cc.ClippingNode.create(this.mask);
this.maskedFill.setAlphaThreshold(0.5);
但是不行...
我在其他帖子中发现,我必须像这样启用模板缓冲区
CCSetupDepthFormat:@GL_DEPTH24_STENCIL8_OES
但我不知道在 Cocos2d-JS
中如何/在哪里做
有人可以帮忙吗?
谢谢!
我不需要任何额外的 depthFormat 设置就可以使用它。
我正在使用 single-file 引擎 cocos2d-js-v3.7.js
这是最少的代码(希望对您有所帮助):
var game = cc.Layer.extend({
init:function () {
this._super();
backgroundLayer = cc.LayerColor.create(new cc.Color(40,40,40,255), 320, 480);
var target = cc.Sprite.create("resources/doge.png"); /*child to clip*/
var mask = cc.Sprite.create("resources/doge-mask.png"); /*mask*/
var maskedFill = new cc.ClippingNode(mask);
maskedFill.setAlphaThreshold(0.9);
maskedFill.addChild(target);
maskedFill.setPosition(144, 224);
backgroundLayer.addChild(maskedFill,0);
this.addChild(backgroundLayer);
}
});
我正在尝试在 Cocos2d-JS 中使用 png 作为掩码 像这样:
this.mask=cc.Sprite.create(cache.getSpriteFrame("bar_mask"));
this.maskedFill = cc.ClippingNode.create(this.mask);
this.maskedFill.setAlphaThreshold(0.5);
但是不行... 我在其他帖子中发现,我必须像这样启用模板缓冲区 CCSetupDepthFormat:@GL_DEPTH24_STENCIL8_OES
但我不知道在 Cocos2d-JS
中如何/在哪里做有人可以帮忙吗?
谢谢!
我不需要任何额外的 depthFormat 设置就可以使用它。 我正在使用 single-file 引擎 cocos2d-js-v3.7.js 这是最少的代码(希望对您有所帮助):
var game = cc.Layer.extend({
init:function () {
this._super();
backgroundLayer = cc.LayerColor.create(new cc.Color(40,40,40,255), 320, 480);
var target = cc.Sprite.create("resources/doge.png"); /*child to clip*/
var mask = cc.Sprite.create("resources/doge-mask.png"); /*mask*/
var maskedFill = new cc.ClippingNode(mask);
maskedFill.setAlphaThreshold(0.9);
maskedFill.addChild(target);
maskedFill.setPosition(144, 224);
backgroundLayer.addChild(maskedFill,0);
this.addChild(backgroundLayer);
}
});