Assets\scripts\BarraVida.cs(43,60): error CS1503: Argument 1: cannot convert from 'string' to 'System.IFormatProvider' Assets\scripts\BarraVida.cs(43,69): error CS1503: Argument 2: cannot convert from 'method group' to 'string'
Assets\scripts\BarraVida.cs(43,60): error CS1503: Argument 1: cannot convert from 'string' to 'System.IFormatProvider' Assets\scripts\BarraVida.cs(43,69): error CS1503: Argument 2: cannot convert from 'method group' to 'string'
Oi, Miguel, tudo bem?
Como está seu script?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class BarraVida : MonoBehaviour
{
private ControlaJogador scriptControlaJogador;
public Slider SliderVidaJogador;
public GameObject PainelDeGameOver;
public TMP_Text TextoTempoDeSobrevivencia;
public TMP_Text TextoPontuacaoMaxima;
private float tempopontuacao;
private int ZumbisMortos;
public TMP_Text TextoQuantidadeDeZumbisMortos;
void Start()
{
scriptControlaJogador = GameObject.FindWithTag("jogador").GetComponent<ControlaJogador>();
SliderVidaJogador.maxValue = scriptControlaJogador.statusJogador.Vida;
AtualizarSlider();
Time.timeScale = 1;
tempopontuacao = PlayerPrefs.GetFloat("pontuacaoMaxima");
}
public void AtualizarSlider()
{
SliderVidaJogador.value = scriptControlaJogador.statusJogador.Vida;
}
public void QuantidadeDeZumbis()
{
ZumbisMortos++;
TextoQuantidadeDeZumbisMortos.text = string.Format("x {0}", QuantidadeDeZumbis);
}
public void GameOver()
{
Time.timeScale = 0;
PainelDeGameOver.SetActive(true);
int minutos = (int)(Time.timeSinceLevelLoad / 60);
int segundos = (int)(Time.timeSinceLevelLoad % 60);
TextoTempoDeSobrevivencia.text = "você sobreviveu por " + minutos + "min e " + segundos + "s" ;
AjustarPontuacaoMaxima(minutos, segundos);
}
void AjustarPontuacaoMaxima (int min, int seg)
{
if (Time.timeSinceLevelLoad > tempopontuacao)
{
tempopontuacao = Time.timeSinceLevelLoad;
TextoPontuacaoMaxima.text = string.Format("seu melhor tempo foi {0}min e {1}s", min, seg);
PlayerPrefs.SetFloat("pontuacaoMaxima", tempopontuacao);
}
if (TextoPontuacaoMaxima.text == "" )
{
min = (int)tempopontuacao / 60;
seg = (int)tempopontuacao % 60;
TextoPontuacaoMaxima.text = string.Format("seu melhor tempo foi {0}min e {1}s", min, seg);
}
}
public void Reiniciar ()
{
SceneManager.LoadScene("projeto");
}
}
Essa linha parece meio estranha
TextoQuantidadeDeZumbisMortos.text = string.Format("x {0}", QuantidadeDeZumbis);
Será que não era pra usar a variavel ZumbisMortos
?
eu substituo em qual?
Dá uma olhadinha de novo no vídeo, na linha que marquei a gente não usa o nome do método, mas sim a variável que a gente acabou de fazer ++
na linha de cima.
Bons estudos!