不死鸟之翼吧 关注:308贴子:39,533
  • 9回复贴,共1

Unity新ui系统的CrossFadeColor是何等蛋碎啊

只看楼主收藏回复

据我翻英文论坛以及亲自试验的情况,似乎这个渐变用的是乘法算法。
这意味着啥呢,rgb里黑色是(0,0,0),那么以黑色为起点就渐变不到其他颜色了,0乘啥都是0嘛。
同理从alpha = 0的完全透明就渐变不到不透明了。
再通俗点说就是这玩意只能做淡出,不能做淡入。
我真是败了,我这个小白也是想不出这个函数为何写的如此脑残。
这个是4.6版本的实验结果,我不知道5是不是还是这样。
ps:如果要问淡入怎么做,我的回答是似乎只能像从前一样在Update里累加alpha值了……效率肯定是低得飞起……


IP属地:加拿大1楼2015-05-31 21:04回复
    为何不从RGB(1,1,1)和alpha=1开始渐变?


    IP属地:北京来自Android客户端2楼2015-06-02 20:34
    收起回复
      可以做淡入之前,先做一下淡出
      transform.GetComponent<Image>().CrossFadeAlpha(0, 0f, true);
      transform.GetComponent<Image>().CrossFadeAlpha(1, 1f, true);
      这样就可以了


      IP属地:河北3楼2015-07-28 11:13
      收起回复