Question by
TheBenStA · Mar 24, 2018 at 01:28 AM ·
spriterendererrandom.rangecolor change
Sprite rendere.color = new color not working
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyController : MonoBehaviour {
void Start () {
int Colour = Random.Range(0,3);
if (Colour == 0) {
gameObject.GetComponent<SpriteRenderer>().color = new Color(169, 0, 0);
}
if (Colour == 1) {
gameObject.GetComponent<SpriteRenderer>().color = new Color(35, 87, 137);
}
if (Colour == 2) {
gameObject.GetComponent<SpriteRenderer>().color = new Color(241, 211, 2);
}
if (Colour == 3) {
gameObject.GetComponent<SpriteRenderer>().color = new Color(69, 98, 65);
}
}
}
The script should randomly change the sprite colour to one of 4 preset values, but the colour doesn't seem to be changing except for one exception: red. Whenever Colour=0 the colour changes but not with any other value
Comment
Best Answer
Answer by exzizt · Mar 24, 2018 at 05:31 AM
That constructor takes a value between 0 and 1 for each R, G, and B. You need to divide each value by 255. https://docs.unity3d.com/ScriptReference/Color.html
Or, use this: https://docs.unity3d.com/ScriptReference/Color32.html