出进坑小白 问题,可能说得有部分偏差欢迎补充
做颜色渐变(变淡消失),看到别人的教程为
Color c = textUI.material.color;
c.a = alphaRemaining;//alphaRemaining从1到0变化
textUI.material.color = c;
但是发现,运行完一次,在取消运行之,text消失,重新运行之后又可见(c.a变为1)。
当代码改为
Color c = textUI.color;
c.a = alphaRemaining;//alphaRemaining从1到0变化
textUI.color = c;
此时程序依旧能够正常运行,只是运行结束后将进行复位(text文字将不会消失)
从而发现当通过程序直接改变material.color.a将导致不可逆变化(运行结束不会复位);
进一步研究发现,当自己创建材质加入到text.material后,,导致之后创建的所有UI组件无法正常显示,只有自己逐个创建材质加入后才能显示。
根据测试以及网上查资料得出,unity默认在创建UI物体时会添加默认材质和shader,当自己添加一次材质后,unity就不会帮助默认添加材质和shader。
因此慎重更改text的材质,或自己更换材质。