(Unity) la barra de sangre del personaje, la configuración de la interfaz de usuario de la barra de energía, el cambio de deducción de sangre después de una lesión, etc.

prefacio

En varias producciones de juegos, a menudo tenemos que entrar en contacto con enemigos y, en este momento, las barras de sangre y la energía se han convertido en nuestros atributos necesarios. También es el núcleo del juego.

1. Realizar un análisis preliminar de las necesidades y comprender

La barra de sangre del personaje es un objeto concreto que puede cambiar después de recibir daño o instrucciones de recuperación. El cambio no es más que la longitud, por lo que lo que necesitamos es un elemento de interfaz de usuario de imagen que pueda cambiar de longitud según la proporción de daño después de recibir diferentes daños .

2. Use el módulo de interfaz de usuario integrado de Unity para crear elementos de barra de sangre

(1) A través de los módulos integrados de Unity, podemos crear fácilmente elementos de la interfaz de usuario en la interfaz de la estructura de jerarquía , usar el botón del revés del mouse para seleccionar la barra de la interfaz de usuario y la imagen interior .

Figura 2.1

(2) Una vez creado, se generará automáticamente en Canvs y se generará un EventSystem (esto es suficiente para saber que es un sistema de control de interfaz de usuario y no se utilizará por el momento). muestra su interfaz de propiedad general .

Figura 2.2 

(3) Insertamos las tiras blancas preparadas de antemano en su Imagen de origen (también puede ajustar directamente el color y la longitud de la imagen predeterminada) y creamos dos, porque nuestros cambios de barra de sangre generalmente tienen una placa inferior blanca en la parte posterior . ponemos El zócalo blanco se llama HealthPoints , y la imagen que se va a cambiar se establece en rojo y se llama healMeter . Al mismo tiempo, se recomienda configurar healMeter como un objeto secundario de HealthPoints , para que podamos encontrarlo fácilmente cuando haya muchos  elementos de la interfaz de usuario más adelante .

Figura 2.3

(4) Establezca el tipo de imagen de healthMeter en Relleno y el Método de relleno para elegir Horizontal (es decir, horizontal, hay muchos otros modos de cambio en él, puede probarlo usted mismo), ajuste la Cantidad de relleno para controlar la longitud de la Imagen , y la usaremos más tarde. Controle su proporción para lograr cambios en la barra de sangre .

 Figura 2.4

(5) Ajustamos la posición de la barra de sangre en toda la interfaz de la cámara , aquí la pongo en la esquina superior derecha . Vale la pena señalar que tiene un punto estándar , la interfaz cambia y sus coordenadas de posición se cambian con referencia al punto estándar establecido, lo configuramos en la esquina superior derecha como se muestra en la Figura 2.6.

Figura 2.5

Figura 2.6

 (6) A continuación, usamos scripts para controlar sus cambios (aquí hay solo una demostración simple)

El primero es importar la biblioteca de la interfaz de usuario de Unity.

using UnityEngine.UI;

Cree el volumen de sangre existente y el volumen de sangre máximo externamente, una variable que llama la barra de sangre

public float healthMeter = 80.0f;
public float HealthPoints = 100.0f;  
public Image healthPoint;

Aquí creo una función Harm y una función Amount . En Harm, el volumen de sangre se deduce por 5 cada vez que te lesionas. The Amount controla la longitud del medidor de salud para actualizar y cambiar en proporción, y se completa en el mismo cuadro. .

La Cantidad de llenado que llama directamente al HealthPoint (imagen insertada) en Cantidad es igual al volumen de sangre existente dividido por el volumen de sangre máximo, es decir, su proporción.

public void Harm()
    {
        healthMeter += -5;
        Amount();

        Debug.Log("扣血-5");
    }
public void Amount()
    {
        healthPoint.fillAmount = healthMeter / maxHealthPoints;
    }

Finalmente, llamamos a la función Harm anterior  en la declaración que necesita deducir sangre.

Resumir

Date prisa y pruébalo tú mismo, el código debe escribirse y entenderse más.

Supongo que te gusta

Origin blog.csdn.net/qq_48860282/article/details/123456418
Recomendado
Clasificación