你 TM 的为什么 Sprite 设置 Color 无效!!!

// sprite  拥有 frame
let sprite = this.node.getComponent(Sprite)
// 只有透明度有效
sprite.color.set(100, 150, 200, 50) 
// 无效
sprite.color.set(100, 150, 200) 

到底是什么鸟 bug,我 TM 修一天了,烦死人了!

.color =

我靠…

为什么 set 只有透明度变

没注意,我一般直接设置颜色,透明度用uiopacity组件

很多api变化,文档都有讲。建议看文档

它这里应该有一个 ColorFlag的变量用来记录color如果改变了,就刷新渲染。
你这届color.set的话只是改变clolor本身内部的值。而且sprite本身也无法感知到color变化了。
但是用sprite.color = xxx;会触发sprite的一个set方法。这样子ColorFlag也记录了color被改变了。然后刷新渲染。应该如此。

1赞

你是对的

1赞

嗯,你也是对的~

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。