Текст TextMesh Pro не будет меняться через скрипт - PullRequest
0 голосов
/ 09 декабря 2018

Кажется, я не могу изменить значение TextMeshPro через скрипт.В моем инспекторе у меня есть объект TextmeshPro с именем Countdown.У меня есть скрипт с именем GameController, который прикреплен к этому.

Мой скрипт затем устанавливает значение строки Countdown в Hello, но оно не работает.

GameController

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class GameController : MonoBehaviour {

    public TextMeshProUGUI Countdown;

    // Use this for initialization
    void Start () {

        Countdown = GetComponent<TextMeshProUGUI> ();
        Countdown.text = "Hello";   
    }

    // Update is called once per frame
    void Update () {

    }
}

В инспекторе есть поле для TextMesh, но по какой-то причине я не могу перетащить объект CountDown, может ли это быть проблемой?

enter image description here

1 Ответ

0 голосов
/ 09 декабря 2018

проблема в том, что вы используете обычный объект TextMeshPro, а в вашем коде вы ищете TextMeshProUGUI, простая ошибка.измените код на:

public class GameController : MonoBehaviour {

    public TextMeshPro Countdown;

    // Use this for initialization
        void Start () {
    //you shouldnt need to get component the editor should take care of this for you when 
//you drop it since you have the object set to TextMeshPro and not just GameObject
            Countdown = GetComponent<TextMeshPro> ();
            Countdown.text = "Hello";   
        }

        // Update is called once per frame
        void Update () {

        }
    }

единственный способ создать объект TextMeshProUGUI - это добавить его через холст.в вашей сцене, когда вы просто добавляете TMP, это будет обычный TMP, которым является ваш «обратный отсчет».Вы можете сказать, потому что он использует сценарий TMP, а не сценарий TMPUGUI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...