Programación de Enemigos Móviles en Unity con C#
Clase 47 de 53 • Curso de C# para Videojuegos
Resumen
¿Cómo añadir enemigos móviles a tu videojuego?
Cuando nos encontramos en el desarrollo de videojuegos, aumentar la dificultad es crucial para mantener al jugador interesado. Una manera efectiva de lograrlo es introduciendo enemigos móviles que interactúen con el entorno. Aquí te explicamos cómo hacerlo utilizando animación y programación en Unity, con un enfoque en C#.
¿Cómo configurar la animación y collider del enemigo?
Para empezar, debes tener la animación del enemigo ya preparada. Si no lo has hecho, crea un prefab del enemigo que contenga la animación deseada. Ubica al enemigo junto al jugador para asegurarte de que tiene el tamaño adecuado. Importante: verifica que el enemigo sea proporcional, ya que un tamaño inadecuado puede afectar negativamente la jugabilidad.
-
Colocación del Collider: Para que el enemigo pueda interactuar con otros objetos, es necesario asignarle un Collider. En este caso, un Capsule Collider funciona bien. Ajusta el Collider para que quede horizontal y selecciona la opción 'trigger' para que pueda atravesar otros objetos sin colisionar.
-
RigidBody 2D: Añade un componente RigidBody 2D al enemigo. Este paso es fundamental, porque permite que el enemigo se mueva respondiendo a fuerzas físicas. Especifica las características del RigidBody, como la gravedad o la automasa, y congela la posición en el eje Y para que solo se desplace horizontalmente.
¿Cómo escalar adecuadamente el enemigo?
El tamaño del enemigo es vital para el equilibrio del juego. Si es muy grande, el jugador encontrará difícil evitarlo o superarlo, lo cual podría frustrar al jugador.
- Escala el enemigo utilizándo la herramienta de transformación de Unity para ajustarlo según las necesidades del juego. Un buen punto de referencia podría ser un factor de escala de 0.6, pero siempre puedes modificarlo para lograr el tamaño ideal.
¿Cómo implementar el script de programación para el enemigo?
Ahora que tienes al enemigo bien configurado en cuanto a visual y física, es momento de habilitar su movimiento y comportamiento a través de la programación.
using UnityEngine;
public class Enemy : MonoBehaviour
{
public float runningSpeed = 1.5f;
private Rigidbody2D rigidbody2d;
public bool facingRight = false; // Enemies initially face left
private Vector3 startPosition;
void Awake()
{
rigidbody2d = GetComponent<Rigidbody2D>();
startPosition = transform.position;
}
void Start()
{
transform.position = startPosition;
}
// Aquí se incluirían los métodos futuros para mover y girar al enemigo
}
-
Variables clave: Define la velocidad de movimiento (
runningSpeed
), la orientación inicial (facingRight
), y la posición de arranque (startPosition
). -
RigidBody y posicionamiento: Recupera el componente RigidBody al iniciar el script y usa
startPosition
para almacenar la posición inicial del enemigo.
Con estas configuraciones y programas, estarás un paso más cerca de tener un videojuego desafiante y atractivo. Sigue experimentando y aprende con cada clase nueva. ¡Tienes un vasto mundo de posibilidades por delante!