Sorry, cc.Sprite.setState is deprecated. Please use cc.Sprite.setMaterial instead

升级2.1.1后sprite 的setStage无效,让用cc.Sprite.setMaterial,在编译器里面看是有material属性的,但代码内提示没该属性,不能使用,求指点该怎么使用

我反馈一下,是少了符号提示,你可以直接使用,暂时忽略代码的错误提示,不影响构建运行。

使用的时候编译器内的naterial必须把灰色材质也设置上代码才可以用嘛?默认不动的时候直接使用setMaterial(0)直接报错,把编译器内的material设为2,同时拖上正常材质和灰色材质才能正常使用,但保存完界面后设置的material又丢掉了,始终保存不了,而且设置灰色后切回正常就不能再次置灰了

参考下这个PR进行修复。
https://github.com/cocos-creator/engine/pull/4380

我应该替换哪些文件呢,下个版本会修复这个问题吗,什么时候发布下个版本

想置灰这个按钮,材质 builtin-gray-sprite.mt 这些事需要我们自己拷贝到自己工程的resources里面,还是打包的时候自动将这些资源打进去,不需要手动操作。 如果是打包会打进去,那路径是什么?

cc.loader.loadRes(grayState ? ‘materials/builtin-gray-sprite’ : ‘materials/builtin-spine’, cc.Material, ‘internal’, null, (err,
asset) => {
if (!err) {
sprite.setMaterial(0, asset);
}
})

已经解决,这部分文档实在是欠缺哈,找源码找出来的。 设置灰色材质后,必需用builtin-spine才能设置成非灰,builtin-sprite这个在置灰后不生效。这个貌似也是个问题。