3.3 spine设置材质属性setProperty不生效,代码如图。
期望效果:
第一秒,亮度0.5。
第二秒,亮度1。
第三秒,亮度0。
实际效果:
岿然不动。
反注释图中的代码,就可以看到期望效果。虽然找到了这种替代方式,但是性能暂且不说,代码都要写多好多行。
附件Demo:
SpineMat.zip (362.3 KB)
3.3 spine设置材质属性setProperty不生效,代码如图。
期望效果:
第一秒,亮度0.5。
第二秒,亮度1。
第三秒,亮度0。
实际效果:
岿然不动。
反注释图中的代码,就可以看到期望效果。虽然找到了这种替代方式,但是性能暂且不说,代码都要写多好多行。
附件Demo:
SpineMat.zip (362.3 KB)
spine的材质用到了 materialCache, 所以你动态修改material,是没有效果的。可以通过这样子处理下。
// spine的动态设置材质问题处理
let matCaches = this.tempSpine['_materialCache'];
for (var x in matCaches) {
matCaches[x].setProperty('brightness', progress);
}
为什么不暴露接口,让开发者使用了内部私有变量是不是说明你们api设计不合理