Muestra la interfaz de GameOver cuando finaliza el juego. (Unidad)

Agregue un componente de texto Texto al bloc de dibujo de Canvas y cambie el nombre a GameOver. El propósito de cambiar el nombre es facilitarnos la búsqueda del componente correspondiente cuando lo cambiemos en el futuro. Intente usar el mismo nombre como el código cuando lo nombras. Y modifique su posición a través del punto de anclaje, y modifique el tamaño que necesita para mostrarse en la posición.

 Y modifique las propiedades dentro del componente de texto Texto para mostrar el tamaño, el color y la alineación del texto.

Luego cree un componente Imagen en el tablero de dibujo de Canvas, configure el punto de anclaje de la imagen a pantalla completa y modifique el color de la imagen.

 Luego, a través del código, la pantalla de GameOver se puede mostrar al final del juego, pero generalmente queremos que salga lentamente y tenga efectos de animación, y el tamaño que se muestra también cambiará, por lo que parece más avanzado. Así que necesitamos usar la animación de Animator para configurarlo. Primero hacemos clic en el tablero de dibujo de Canvas de pantalla completa y buscamos el componente en la barra de menú. Hay una animación en la otra, hacemos clic en la animación para crear una animación de GameOver y le agregamos propiedades para encontrar el componente que necesita. estar animado

 Antes de configurar la animación, debemos configurar la transparencia a del color en el componente de imagen creado anteriormente en 0, por cierto, configure el nombre del componente de imagen en FullScene y configure la transparencia a de la propiedad de color en el componente de texto GameOver a 0. Luego configure el efecto de visualización de animación a través de la imagen de arriba para lograr un efecto de visualización dinámico más hermoso.

Debido a que no es un video que no pueda mostrar efectos dinámicos, puede mostrarse cuando modifica su propia configuración. 

Finalmente, agregue el componente de sombra y Contorno al componente de texto de GameOver para que el texto tenga sombras y líneas de sombra para que el texto sea más claro y más tridimensional.

Asegúrese de montar la animación que acaba de crear en el componente de la interfaz de usuario de animación, busque el componente de animación Animator en la interfaz de usuario de animación para agregar la animación que acaba de crear y modifíquela en el controlador de animación correspondiente para crear una máquina de estado vacía. . Establézcalo en el estado predeterminado de la capa y luego cree un disparador de parámetro, que está conectado a la animación de GameOver.

 Y establecer el estado correspondiente.

Haga doble clic en la capa de animación GameOver, se mostrará el siguiente efecto, el valor predeterminado es verificar la reproducción del bucle en bucle, debemos desmarcarlo para que solo se muestre una vez. Para tal pintura, hemos completado la operación correspondiente. A continuación, solo necesitamos compilar el script para lograr el efecto.

Cree un script de GameOver, móntelo en el componente de texto correspondiente y edite el código para lograr el efecto de visualización.

 Código:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameOverManager : MonoBehaviour
{
    // Start is called before the first frame update

    //找到玩家血量组件
    public PlayerHP PlayerHP;
    //状态机
    Animator anim;
    //重新加载时间
    public float restartTimer = 5f;
    //计时器
    float timer;
    void Start()
    {
        anim = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        //玩家死亡
        if (PlayerHP.currentHP <= 0)
        {
            //播放游戏结束动画
            anim.SetTrigger("GameOver");
            //计时
            timer += Time.deltaTime;
            if (timer >= restartTimer)
            {
                //计时大于重新加载的时间,计时器为0
                timer = 0;
                //分数清0
                ScoreManager.score = 0;
                //重新调用场景
                SceneManager.LoadScene(0);
            }
        }
    }
}

Este código siempre llamará a SceneManager.LoadScene(0) para cargar la primera escena y reproducir el juego en bucle. Cuando la página de GameOver se muestre durante 5 segundos, volverá a llamar al script de escena de carga. De lo contrario, debe comente SceneManager.LoadScene(0). También puede mejorar y complementar el contenido por sí mismo. Puede configurar el botón de menú para controlar el juego para reiniciar o salir. También puede configurar diferentes enemigos en el juego para que tengan diferentes poderes de ataque y ataque. rango, y puedes establecer múltiples niveles. Lucha contra monstruos y mejora para aumentar el poder de combate, suelta aleatoriamente elementos de monstruos, etc., el contenido específico puede ser realizado por ti mismo, para que el proyecto pueda lograr un efecto más perfecto.

 Pantalla de imagen:

El orden de los códigos anteriores es diferente, lo que puede provocar errores en la operación.Si es necesario, se requiere un uso completo para garantizar el funcionamiento normal del proyecto. Si comete un error, verifique cuidadosamente y ajuste para ver si se puede lograr el efecto. Si hay una mejor manera, ¡por favor deje un mensaje a continuación! ¡gracias por ver! ! !


-------------------------------------------------- -------- FIN ----------------------------------------- ------------------------

Supongo que te gusta

Origin blog.csdn.net/weixin_57813136/article/details/132132224
Recomendado
Clasificación