亮度叠加立即从最小 alpha 更改为最大 alpha 而不是递增

Brightness Overlay Changing instantly from min to max alpha instead of Incrementing

我正在尝试制作可由用户使用滑块更改的亮度叠加层。我正在使用面板(颜色为黑色)进行叠加并使用滑块编辑其 alpha。滑块的最小值为 0,最大值为 150,但滑块必须为 1 或更大才能使叠加层的 alpha 达到最大。当我将 alpha 打印到控制台时,它说它只有 1,但叠加层上的 alpha 说是最大的(如果有混淆,请检查 gif)。如何使用滑块通过脚本设置叠加层的透明度?

研究:

查看了你的代码,发现了问题。

要理解的事情:

颜色。a/Alpha最小值为0.0f;

颜色。a/Alpha最大为 1.0f

颜色.a/Alpha = float int.

所以把你的 public void ChangeBrightness(int brightness) 改成 public void ChangeBrightness(float brightness)

在您的 Slider 上,确保 Min Value =0 且 Max Value =1;还要确保未选择 Whole Numbers

现在,由于函数参数中的 int,滑块的值正在转换为 0 或 1。这就是那个奇怪的问题发生的原因。