亮度叠加立即从最小 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。这就是那个奇怪的问题发生的原因。
我正在尝试制作可由用户使用滑块更改的亮度叠加层。我正在使用面板(颜色为黑色)进行叠加并使用滑块编辑其 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。这就是那个奇怪的问题发生的原因。