我正在使用打字游戏,我想将文本中的字母颜色更改为红色,只有当我正确键入它时...就像这样: 提前谢谢: - )
string myString = txt.text;
char[] myChars = myString.ToCharArray();
foreach (char c in myChars)
{
txt.text = txt.text.Replace(c.ToString(), "<color=red>"+c+"</color>");
break;
}
答案 0 :(得分:4)
整个用户界面Text
颜色随Text.color
更改:
public Text txt;
void Start()
{
txt.color = Color.red;
}
看起来您想要更改单个字符颜色。 Unity支持Rich Text,您可以更改文本中每个字符的字体样式,大小和颜色。这意味着用<color=yourcolor>
和</color>
括起字符会改变颜色。
public Text txt;
void Start()
{
string goodText = "<color=red>G</color>ood";
txt.text = goodText;
}
上面示例中的字符G
将为红色。所有其他角色将采用黑色的默认颜色。您也可以为所有其他角色执行此操作。
在下面的示例中,Goo
为红色,d
为黑色(默认颜色)。
string goodText = "<color=red>Goo</color>d";
答案 1 :(得分:1)
这应该有用,试一试。
public UnityEngine.UI.Text myText;
// Get index of character.
int charIndex = myText.text.IndexOf ("S");
// Replace text with color value for character.
myText.text = myText.text.Replace (myText.text [charIndex].ToString (), "<color=#000000>" + myText.text [charIndex].ToString () + "</color>");