2016-05-22 8 views
1

Ich versuche ein Helligkeits-Overlay zu erstellen, das vom Benutzer mithilfe eines Schiebereglers geändert werden kann. Ich verwende ein Panel (Farbe ist schwarz) für das Overlay und editiere sein Alpha mit dem Schieberegler. Der Schieberegler hat einen minimalen Wert von 0 und einen maximalen Wert von 150, aber der Schieberegler muss nur 1 oder größer sein, damit das Alpha des Overlays voll ist. Wenn ich das Alpha auf die Konsole drucke, sagt es, es ist nur 1, aber das Alpha auf dem Overlay sagt, ist auf max (Überprüfen Sie gif, wenn es Verwirrung gibt). Wie lege ich das Alpha eines Overlays über ein Skript mit einem Schieberegler fest?Helligkeitsüberlagerung Sofort von Min- zu Max-Alpha wechseln statt Inkrementieren

Reasearch:

Antwort

3

Sah sich Ihren Code an und fand das Problem.

Dinge zu verstehen:

Farbe.Ein/Alpha min ist 0.0f;

Farbe.Ein/Alpha max ist 1.0f

Farbe.Ein/Alpha = floatnichtint.

So ändern Sie Ihre public void ChangeBrightness(int brightness) zu public void ChangeBrightness(float brightness).

Stellen Sie auf Ihrem Slider sicher, dass Min Value = 0 und Max Value = 1; Stellen Sie außerdem sicher, dass Whole Numbers nicht ausgewählt ist.

Momentan wird der Wert des Schiebereglers aufgrund des int in Ihrem Funktionsparameter in 0 oder 1 umgewandelt. Deshalb passiert dieses seltsame Problem.

enter image description here

+2

Vielen Dank! Es funktionierte! –