button按下的时候如果改变颜色,这个颜色能否就保留住,等我再次触发按钮时候恢复,现在这个组件是点击后松开颜色就恢复回去了
大多数处理时候就是用两张图去切换,明明可以用颜色的事情不用消耗draw call的,这样不是搞得很鸡肋?
那你就去设置button的颜色撒
你设置下点击后离开,看下是不是颜色就恢复了
Button组件中的Transtion是用于产生一个点击或者说按压的效果
你说的应该是按钮呈现两种正常状态,比如说一种为激活状态,一种为禁用状态吧
如果在设置了Transtion为Color模式的话,在点击切换按钮状态的时候用代码修改Normal的颜色值
如果没有设定Transtion为Color模式地话,直接用代码对Node的Color属性进行修改
最后我使用改变node节点颜色了先对付过去,但是我觉得这里对button组件用法不是很懂,但是总觉得这里是个问题
button 组件没有问题,因为button只应该提供 按钮的交互功能(和显示效果)。
保留住颜色的逻辑 不适合放入 button 组件内的,这和业务逻辑相关,你应该自己实现。
如果觉得比较常用你也可以直接继承cc.Button组件,自己加上这个交互逻辑代替原来的组件。
两张图合图了可以减少draw call,修改图片默认颜色反而会增加drawcall
官网有个改变颜色的案例你可以了解下在01项目里面改变颜色不会消耗的
改变color、opacity不是一定会增加drawcall,实际是打断了渲染批次…
如果界面中要修改颜色、透明度的渲染组件,是有和其他的渲染组件处于同一个渲染批次,那么打断渲染批次就会导致drawcall增加,如果这个渲染批次中只有这一个渲染对象,那么改变它的颜色、透明度,并不会导致drawcall的变化
