Quando eu clico para reiniciar o game over continua aparecendo na tela e o jogo rodando atraz.
o botão do fundo game over está assim:
e o código de reiniciar assim: 
alguém pode me ajudar.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Quando eu clico para reiniciar o game over continua aparecendo na tela e o jogo rodando atraz.
o botão do fundo game over está assim:
e o código de reiniciar assim: 
alguém pode me ajudar.
Olá Yohana!
Peço que faça um teste, pois o problema pode estar na ordem em que você está definindo o Time.timeScale. No método ReiniciarJogo(), você está definindo o Time.timeScale como 1 após esconder a imagem do Game Over. Isso faz com que o jogo continue rodando antes de reiniciar.
Uma solução seria inverter a ordem dessas linhas de código. Primeiro, defina o Time.timeScale como 1 e depois esconda a imagem do Game Over. Dessa forma, o jogo só voltará a rodar após a imagem ser ocultada.
Aqui está o código corrigido:
public void ReiniciarJogo()
{
Time.timeScale = 1;
this.imagemGameOver.SetActive(false);
this.aviao.Reiniciar();
this.DestruirObstaculos();
this.pontuacao.Reiniciar();
}
Tente fazer essa alteração e veja se resolve o problema do Game Over não desaparecer corretamente, e se persistir, por favor compartilhe seu código comigo, ficarei feliz em ajudar.
Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Oi Victor O erro persiste o código completo do diretor está assim agora:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Diretor : MonoBehaviour { [SerializeField] private GameObject imagemGameOver; private Aviao aviao; private Pontuacao pontuacao;
private void Start()
{
this.aviao = GameObject.FindObjectOfType<Aviao>();
this.pontuacao = GameObject.FindObjectOfType<Pontuacao>();
}
public void FinalizarJogo()
{
Time.timeScale = 0;
this.imagemGameOver.SetActive(true);
}
public void ReiniciarJogo()
{
Time.timeScale = 1;
this.imagemGameOver.SetActive(false);
this.aviao.Reiniciar();
this.DestruirObstaculos();
this.pontuacao.Reiniciar();
}
private void DestruirObstaculos()
{
Obstaculo[] obstaculos = GameObject.FindObjectsOfType<Obstaculo>();
foreach(Obstaculo obstaculo in obstaculos)
{
obstaculo.Destruir();
}
}
}