Slider Unity: vida y maná en un script
Clase 24 de 33 • Curso de VR con Unity
Contenido del curso
Creando nuestro mundo 3D en Unity
- 6

Crear terreno 3D en Unity con Standard Assets
08:42 min - 7

Creación de Escenarios en Unity: Terreno y Erosión Realista
10:19 min - 8

Texturización de terrenos en Unity: creación de entornos realistas
10:56 min - 9

Cómo pintar árboles en Unity para VR
06:54 min - 10

Añadir césped y efectos de viento en Unity 3D
06:57 min - 11

Configurar skybox de seis lados en Unity
06:53 min - 12

Integración de Armas y Escudo en Realidad Virtual con HTC Vive
12:09 min
El realismo del VR: Programando a nuestro personaje
- 13

Programación de Lógica de Armas en Realidad Virtual
10:22 min - 14

Mapeado de controles HTC Vive en Unity
10:08 min - 15

Controles VR: grip y gatillo en Unity
10:02 min - 16

Configuración de Bolas de Fuego en Unity para Realidad Virtual
09:21 min - 17

Disparo de bola de fuego en VR
10:11 min - 18

Corrección de bugs: recarga y audio en armas Unity
04:44 min - 19

Colliders y Rigidbody en el diseño de personajes y armas en Unity
08:25 min - 20

Sistema de vida reutilizable en Unity
05:23 min
El realismo del VR: Creación de HUD (Heads Up Display) y generando enemigos
- 21

HUD en VR: canvas anclado a cámara
08:50 min - 22

Configuración de Barras de Vida y Maná en Unity
05:54 min - 23

Programación de Daño en Videojuegos: Lógica de Armas y Magia
11:07 min - 24

Slider Unity: vida y maná en un script
Viendo ahora - 25

Cómo configurar un dragón enemigo en Unity
11:40 min - 26

Colliders y barras de vida para dragones
08:31 min - 27

Animaciones de Muerte y Desaparición de Enemigos en Unity
10:01 min - 28

Cómo crear oleadas de dragones con portal
11:24 min
El realismo del VR: Programando la IA de nuestro juego
Domina la UI de Unity con un único script en C# para la barra de vida y la de maná. Con un enum claro, un Slider bien configurado y un switch limpio en Start y Update, tendrás una solución genérica que sirve para el Player y, de regalo, para los enemigos. Reutilizable, simple y efectiva.
¿Cómo configurar el target y el tipo de barra?
Configura primero el objetivo y define qué contenido muestra cada barra. La clave está en una variable pública y un enum que separa vida y maná para el mismo Slider del Canvas.
- Declara una variable pública GameObject target. Representa a quién pertenece la barra (Player o enemigo).
- Usa un enum público para distinguir el contenido: vida o maná.
- Expone una variable pública de tipo del enum para elegir en el Inspector.
- Arrastra el Player al target de ambas barras en el Canvas.
- En la barra de vida, deja el tipo en Health. En la barra de maná, cámbialo a Mana.
- Script genérico: se reaprovecha para enemigos sin cambios.
¿Qué lógica aplicamos en Start y Update con switch?
La diferencia entre vida y maná está en el origen del dato. Vida viene de la componente Health del target. Maná se toma de una constante en la clase Weapons. Con un switch controlamos ambos flujos.
- En Start: configura el valor máximo del Slider según el tipo de barra.
- En Update: actualiza el valor actual en cada frame.
- Para vida: usa target.GetComponent
() y su getter de puntos de vida. - Para maná: en Start usa la constante de clase Weapons.magicCooldownTime. En Update toma el magicCooldown de la componente Weapons del target.
- Usa case y break para cubrir todos los casos del enum.
- Variables de clase vs instancias: maná máximo como constante de clase; vida y maná actual desde componentes del objeto.
¿Por qué usar un switch en Start y Update?
- Centraliza la lógica por tipo de barra.
- Evita ifs anidados y errores de configuración.
- Facilita añadir nuevos tipos.
¿Cómo extender con una tercera barra de energía?
- Añade un tercer valor al enum (por ejemplo, Energy o WeaponCooldown).
- Agrega un case en Start para el valor máximo.
- Agrega un case en Update para el valor actual.
- Conecta al cooldown de armas para simular stamina. Ideal para practicar VR.
¿Qué código base necesitas para el slider de vida y maná?
A continuación, un esqueleto fiel a lo explicado: un único script para ambas barras usando Slider, GetComponent, enum y un switch en Start/Update.
using UnityEngine;
using UnityEngine.UI;
public class BarSlider : MonoBehaviour
{
public GameObject target; // Player o enemigo.
public enum BarType { Health, Mana }
public BarType barType;
private Slider slider;
void Awake()
{
slider = GetComponent<Slider>();
}
void Start()
{
switch (barType)
{
case BarType.Health:
slider.maxValue = target.GetComponent<Health>().HealthPoints; // Vida máxima inicial.
break;
case BarType.Mana:
slider.maxValue = Weapons.magicCooldownTime; // Constante de clase.
break;
}
}
void Update()
{
switch (barType)
{
case BarType.Health:
slider.value = target.GetComponent<Health>().HealthPoints; // Vida actual.
break;
case BarType.Mana:
slider.value = target.GetComponent<Weapons>().magicCooldown; // Maná actual.
break;
}
}
}
Palabras clave y habilidades que pones en práctica: - target como referencia del propietario de la barra. - enum BarType para separar Health y Mana en un mismo script. - Slider.maxValue y Slider.value para máximo y valor actual. - GetComponent para acceder a Health y Weapons del objeto. - Constante de clase: Weapons.magicCooldownTime frente a datos de instancia. - Flujo por switch, case y break en Start y Update. - UI de Unity reutilizable para Player y enemigos en el Canvas.
¿Te gustaría que añadamos la tercera barra de energía y más ejemplos de VR? Cuéntame en los comentarios qué necesitas ver paso a paso.