1
resposta

[Dúvida] int não converte para String

Olá estou tendo alguns problemas para converter um int para String, estou fazendo a aula sobre pontuações e acompanhei o professor com o vídeo porém chegou um momento que deu um erro e eu tentei resolver porem não consegui, conseguem me ajudar?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class cPontuacao : MonoBehaviour
{
    [SerializeField]
    private Text textoPontuacao;
    private int pontos;

    public void adicionarPontos() 
    {
        this.pontos++;
        Debug.Log(this.pontos);
        this.textoPontuacao.text.pontos.ToString();
    }

    public void Reinicar() 
    {
        this.pontos = 0;
        this.textoPontuacao = this.pontos.ToString();
    }
}

este codigo começamos a fazer na aula 3 aonde vamos inserir a pontuação pro jogador

1 resposta

E aí, Thiago!

A parada é que você tá quase lá, só precisa dar um tapa na sintaxe.

public class cPontuacao : MonoBehaviour
{
    [SerializeField]
    private Text textoPontuacao;
    private int pontos;

    public void adicionarPontos() 
    {
        this.pontos++;
        Debug.Log(this.pontos);
        this.textoPontuacao.text = this.pontos.ToString();  // Corrige essa linha aqui
    }

    public void Reinicar() 
    {
        this.pontos = 0;
        this.textoPontuacao.text = this.pontos.ToString();  // E corrige aqui também
    }
}

Repara que eu troquei this.textoPontuacao.text.pontos.ToString(); por this.textoPontuacao.text = this.pontos.ToString(); nas funções adicionarPontos() e Reinicar(). Isso vai fazer a mágica de converter o número de pontos para uma String e atribuir ao texto do seu objeto textoPontuacao.

Dá uma testada e veja se resolve!