1
resposta

[Dúvida] UI não funciona

Quando adiciono o Text(TMP), porque o Text comum não tem na versão da Unity 2022, ela não aparece na tela assim que pausa quando o zumbi ataca. Como arrumo isso no meu código? Ou é na Unity mesmo?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeCódigo:

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

public class ControlaZumbi : MonoBehaviour { public GameObject jogador; public float velocidade;

private void FixedUpdate()
{

    float distancia = Vector3.Distance(transform.position, jogador.transform.position);

    Vector3 direcao = jogador.transform.position - transform.position;

    Quaternion novaRotacao = Quaternion.LookRotation(direcao);
    GetComponent<Rigidbody>().MoveRotation(novaRotacao);

    if (distancia > 2.2)
    {
        GetComponent<Rigidbody>().MovePosition(
        GetComponent<Rigidbody>().position +
        direcao.normalized * velocidade * Time.deltaTime);

        GetComponent<Animator>().SetBool("Atacando", false);
    }
    else
    {
        GetComponent<Animator>().SetBool("Atacando", true);
    }

    void AtacaPersonagem ()
    {
        Time.timeScale = 0;
        jogador.GetComponent<ControlaPersonagem>().vivo = false;
    }
}

}

using UnityEngine; using UnityEngine.SceneManagement; using TMPro;

public class ControlaPersonagem : MonoBehaviour { [SerializeField] float velocidade; Vector3 direcao; public LayerMask mascaraChao; public GameObject textoGameOver; public bool vivo = true;

private void Start()
{
    Time.timeScale = 1;
}


// Update is called once per frame
void Update()
{
    float moveX = Input.GetAxis("Horizontal");
    float moveZ = Input.GetAxis("Vertical");

    direcao = new Vector3(moveX, 0, moveZ);

    if (direcao != Vector3.zero)
    {
        GetComponent<Animator>().SetBool("Andando", true);
    }
    else
    {
        GetComponent<Animator>().SetBool("Andando", false);

    }

    if (vivo == false)
    {
        if(Input.GetButtonDown("Fire1"))
        {
            SceneManager.LoadScene("Fase1");
        }
    }

}

private void FixedUpdate()
{
    GetComponent<Rigidbody>().MovePosition
        (GetComponent<Rigidbody>().position +
        (direcao * velocidade * Time.deltaTime));

    Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
    Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);

    RaycastHit impacto;

    if (Physics.Raycast(raio, out impacto, 100))
    {
        Vector3 posicaoMiraPersonagem = impacto.point - transform.position;

        posicaoMiraPersonagem.y = transform.position.y;

        Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraPersonagem);

        GetComponent<Rigidbody>().MoveRotation(novaRotacao);
    }
}

}

1 resposta

Oi, Lucas, tudo bem?

No print que você mandou ele está desativado, quando ativado ele funciona? Só pra gente saber se é algo fora do código ou no código.