V.2.2.0 官方ShaderDemo BUG?

  1. 官方ShaderDemo在目标渲染组件的node上的脚本写
    onEnable() {
    if (this.sprite) {
    console.log(“SpriteShaderUpdate–>onEnable”,this._material,this.sprite.sharedMaterials[0]);
    this._material = this.sprite.sharedMaterials[0];
    }
    }
    没有问题,
    但是如果是在非目标渲染组件的node上的脚本上,会导致this._material不是 this.sprite.sharedMaterials[0]实例
    请参见demoCocosShaderDemo.zip (1.6 MB)

2.还有请问
export class Material extends Asset {
static getInstantiatedMaterial(mat:Material, renderComponent:any): Material;
setProperty(name:string, property:any);
}
官方shaderDemo里边有这个,但是新建的工程里没有
请问大佬哪有最全的creator.d.ts?

@huanxinyin @337031709 @jare

您这个跟我说的不是一回事啊

不好意思,看错了

我试了一下,这样改就有效了:

左边那个也会动起来了

十分感谢
let material = this._materials[index];
if (!material) return null;

    let instantiated = Material.getInstantiatedMaterial(material, this);
    if (instantiated !== material) {
        this.setMaterial(index, instantiated);
    }

请问creator.d.ts哪里更完整,更新的?还是要自己加

引擎里没更新,只能自己在 creator.d.ts 添加,我就是这么干的:slightly_smiling:

十分感谢