Как заменить цвет символа в тексте? - PullRequest
0 голосов
/ 05 июня 2018

Я работаю с игрой на машинке и хочу изменить цвет буквы в тексте на красный, только если я набрал его правильно… как это: заранее спасибо: -)

 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;
    }

enter image description here

Обновленный вывод

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Весь пользовательский интерфейс 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";
0 голосов
/ 05 июня 2018

Это должно сработать, попробуйте.

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>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...