Рассматривая сохранение значения во временной переменной (UI.graphic.color) - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь изменить альфа нескольких элементов интерфейса.

"UnityEngine.UI.Graphic.color Рассматривая сохранение значения во временной переменной"

public class DialogueManager : MonoBehaviour {     
public Text nameText;
public Text dialogueText;
public Image facePlate;
public PlayerController thePlayer;

void Awake () {
    thePlayer = FindObjectOfType<PlayerController> ();
}

void Update () {

    if (!thePlayer.isTalking) {
        Color temp = facePlate.color;
        temp.a = 0f;
        nameText.color.a = temp.a;
        dialogueText.color.a = temp.a;
        facePlate.color.a = temp.a;
    }

Я пробовал несколько способов сделать это, хотя я всегда сталкиваюсь с этой же ошибкой.

1 Ответ

0 голосов
/ 13 февраля 2019

Вам не разрешено изменять любую переменную Color напрямую.Таким образом, вместо этого вы можете присвоить значение вашей структуры Color временной переменной и изменить его.Затем переназначьте темп цветовой части.Здесь мы каждый раз в основном принимаем значение переменной цвета, модифицируем ее и переназначаем новое значение

if (!thePlayer.isTalking) {
    Color temp = facePlate.color;
    temp.a = 0f;
    facePlate.color = temp;

    temp = nameText.color;
    temp.a = 0f;
    nameText.color = temp;

    temp = dialogueText.color;
    temp.a = 0f;
    dialogueText.color = temp;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...