Hi I am using Random. Range on few pieces of text, is there a something I can use to assign each word with a hidden colour value. The text itself changes through a random colours but I would like to give word below a specific colour value which I can then use to relate it to a sprite. Code (CSharp): public Text colourText; public string[] names = new string[] { "Red", "Yellow", "Blue", "Green" }; public string GetRandomName () { return names[Random.Range(0, names.Length)]; } void Start() { colourText.text = (GetRandomName()); colourText.color = new Color(Random.Range(0f, 1f),Random.Range(0f, 1f),Random.Range(0f, 1f),1); } }
You could create a class for your color information. Try this: Code (CSharp): using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ColorInfo { public Color color; public string colorName; } public class Test : MonoBehaviour { public ColorInfo[] colorInfo = new ColorInfo[] { new ColorInfo { color = new Color(1,1,1), colorName = "White" }, new ColorInfo { color = new Color(.5f,.5f,.5f), colorName = "Gray" } }; public Text colourText; void Start() { ColorInfo colorInfo = GetRandomColorInfo(); colourText.text = colorInfo.colorName; colourText.color = colorInfo.color; } public ColorInfo GetRandomColorInfo() { return colorInfo[Random.Range(0, colorInfo.Length)]; } }