1
resposta

TextoLegacy no script Pontuacao

Eu estava fazendo a aula "Contando os Pontos" e parei em uma parte onde o professor usa o "using UnityEngine.UI", quando fui ver no script, se botasse a mesma coisa que o professor daria error, e a unica coisa parecida era "using UnityEngine.UIElements" que eu acho que seria a mesma coisa mas o mudaram o nome na versão atual que uso. Mas mesmo assim se tentasse botar o "Text" daria erro, e eu estou usando o Text(Legacy) na Unity que é o textoPontuacao.

1 resposta

Olá Lucas, tudo bem?

Entendo sua dúvida. O uso do using UnityEngine.UI no script é necessário para utilizar a classe Text que é responsável por exibir o texto na tela. No entanto, parece que você está utilizando uma versão mais recente do Unity que utiliza UnityEngine.UIElements em vez de UnityEngine.UI.

Nesse caso, você pode substituir o using UnityEngine.UI por using UnityEngine.UIElements no início do seu script. No entanto, é importante ressaltar que a classe Text não está disponível em UnityEngine.UIElements, então você não poderá utilizar o Text diretamente.

Uma alternativa é utilizar o componente Label em vez do Text. O Label também é responsável por exibir texto na tela e pode ser utilizado da seguinte forma:

using UnityEngine.UIElements;

public class Pontuacao : MonoBehaviour
{
    public Label textoPontuacao;

    private int pontuacao;

    private void Start()
    {
        pontuacao = 0;
        textoPontuacao.text = "Pontuação: " + pontuacao;
    }
}

Dessa forma, você pode criar um campo textoPontuacao do tipo Label e atribuir o texto desejado utilizando a propriedade text. Lembre-se de adicionar o componente Label ao objeto que contém o script.

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!