我有一个用于UI的画布,其图像大小与画布相同。所述Image具有rgba的0,0,0,0,使之成为不可见的(因为a是0)。我想让图像从脚本淡入黑色。这是我正在使用的代码:
Image
rgba
0,0,0,0
a
public class NavigationC : MonoBehaviour { public Image screen; float fadeTime = 3f; Color colorToFadeTo; void StartGame() { colorToFadeTo = new Color(0f, 0f, 0f, 255f); screen.CrossFadeColor(colorToFadeTo, fadeTime, true, true); } }
现在,执行该命令不会执行任何操作。但是,当我a统一手动更改图像的值以使图像可见时,我可以看到脚本更改了图像的颜色。因此脚本确实可以正常工作,因为a它没有被脚本更改,所以它不可见。那么如何使图像从不可见变为黑色?
这是您的问题:
new Color(0f, 0f, 0f, **255f**);
该Color构造函数的参数从取值0f到1f,但要传递0f到255f范围值给它。
Color
0f
1f
255f
应该是:
colorToFadeTo = new Color(0f, 0f, 0f, 1f);
如果要使用0to 255范围,则必须将其除以255。
0
255
colorToFadeTo = new Color(0f, 0f, 0f, 255f/255f);
另外,Color32其中的值可以在0和之间255。您可以使用它,然后将其隐化为彩色。
Color32
Color32 color32 = new Color32(0f, 0f, 0f, 255f)); Color color = color32;