First of all, sorry for my English, as im Spanish.
I’ll try to explain my problem a little bit better.
Im trying to make a game like Pokemon in Unity, and I have some problems when I try to change the color of the health bar when the HP is less than a half.
To reduce the health, what I do is decreasing the Scale of the Image from the left, that works fine.
In the Unity Editor I change the color to green to change it from the start.
But when I change the color with GetComponent<Image>().color = new Color(255f, 255f, 30f);
it returns to the original image color, which is white.
This is the code:
public class HP_Bar_Control : MonoBehaviour
{
private Color green = new Color(31f, 255f, 30f);
private Color yellow = new Color(255f, 255f, 30f);
private Color red = new Color(255f, 30f, 30f);
private void Start()
{
transform.localScale = new Vector3(0.5f, 1f);
}
private void Update()
{
if (transform.localScale.x <= 0.25f)
{
GetComponent<Image>().color = red;
}
else if (transform.localScale.x <= 0.5f)
{
GetComponent<Image>().color = yellow;
} else
{
GetComponent<Image>().color = green;
}
}
}
In the start method I just change the state to test the color change.