亮度叠加从最小到最大alpha变化,而不是递增

时间:2016-05-22 15:57:12

标签: unity3d unityscript unity5

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

Reasearch:

1 个答案:

答案 0 :(得分:3)

查看您的代码并发现问题。

要理解的事情:

Color.a / Alpha min为0.0f;

Color.a / Alpha max为1.0f

Color.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。这就是发生奇怪问题的原因。

enter image description here