我之前使用了一些大佬们发的shader控制,直接使用了```
现在有个问题,就是shader使用后,我通过removeComponent那个节点并不能移除shader
网上百度有看到类似的解决方法…说要重置sprite的默认shader
请问怎么重置呢?
我之前使用了一些大佬们发的shader控制,直接使用了```
现在有个问题,就是shader使用后,我通过removeComponent那个节点并不能移除shader
网上百度有看到类似的解决方法…说要重置sprite的默认shader
请问怎么重置呢?
/**重置sprite材质 */
cc.Sprite.prototype.resetCurrMaterial = function() {
if (cc.game.renderType !== cc.game.RENDER_TYPE_CANVAS && this._state === STATE_CUSTOM) {
let spriteFrame = this._spriteFrame;
let texture = spriteFrame.getTexture();
this._state = cc.Sprite.State.NORMAL
this._spriteMaterial = new SpriteMaterial();
let material = this._spriteMaterial;
material.texture = texture;
this._currMaterial = null;
if (spriteFrame && spriteFrame.textureLoaded()) {
this._updateMaterial(material);
if (this._renderData) {
this._renderData.material = material;
}
this.markForUpdateRenderData(true);
this.markForRender(true);
}
}
}
自己在控件库里尝试加了这个方法…
先这样吧.关贴了,影响到大家不好意思