
¡Hola, futuros desarrolladores de juegos! Hoy vamos a explorar cómo hacer que un enemigo te siga en Unity 2D. Imaginen que son un personaje en un videojuego y tienen un enemigo que siempre está intentando alcanzarlos. Vamos a crear eso juntos, paso a paso.
Entendiendo los Componentes Esenciales
Primero, definamos algunos términos clave. En Unity, todo en tu juego es un GameObject. Piensa en un GameObject como un actor en una obra de teatro. Cada GameObject puede tener varios Componentes. Los Componentes son como las instrucciones que le dicen al actor qué hacer: moverse, hablar, etc. Vamos a usar Componentes para controlar el movimiento de nuestro enemigo.
Vamos a usar un Rigidbody 2D para dar a nuestros objetos físicas realistas. Piensa en esto como las leyes de la física en tu juego. Permitirá que nuestros personajes interactúen con la gravedad y las colisiones. Luego, vamos a usar un Collider 2D para detectar cuando los objetos chocan entre sí.
Must Read
Creando Nuestros Personajes
Comencemos creando nuestros personajes en Unity. Crea un nuevo proyecto Unity 2D. Crea dos GameObject: uno para el jugador y otro para el enemigo. Puedes usar formas simples como cuadrados o círculos al principio. Cambia el nombre de los GameObject a "Player" y "Enemy".
Ahora, agrega los Componentes necesarios. Para ambos, agrega un Rigidbody 2D y un Collider 2D. Puedes usar un Box Collider 2D o un Circle Collider 2D. Para agregar un Componente, selecciona el GameObject en el Hierarchy y haz clic en "Add Component" en el Inspector.

Escribiendo el Script de Seguimiento
Ahora viene la parte divertida: ¡escribir el código! Crea un nuevo script de C# llamado "EnemyFollow". Para crear un script, haz clic derecho en la ventana del proyecto, selecciona "Create" y luego "C# Script". Abre el script en tu editor de código (como Visual Studio).
Aquí está el código básico que usaremos:
using UnityEngine;
public class EnemyFollow : MonoBehaviour
{
public float speed = 5f;
public Transform player;
void Update()
{
if (player != null)
{
Vector2 direction = (player.position - transform.position).normalized;
GetComponent().velocity = direction * speed;
}
}
}
Copiemos y peguemos este código en nuestro script. Guarda el script. Vamos a analizar el código poco a poco.

La variable speed controla la velocidad del enemigo. La variable player almacenará una referencia al GameObject del jugador. En la función Update, calculamos la dirección hacia el jugador. Luego, movemos el enemigo en esa dirección usando la velocidad definida.
Conectando Todo
Regresa a Unity. Arrastra el script "EnemyFollow" al GameObject del enemigo. Ahora, en el Inspector del enemigo, verás el script "EnemyFollow" con un campo llamado "Player". Arrastra el GameObject del jugador desde el Hierarchy hasta este campo "Player".

¡Listo! Ahora, cuando ejecutes el juego, el enemigo debería seguir al jugador. ¡Felicidades!
Experimentando y Mejorando
Puedes experimentar con diferentes valores para la velocidad. Intenta agregar obstáculos y ver cómo el enemigo intenta sortearlos (o choca contra ellos, ¡según tu configuración!). Puedes mejorar este script agregando animaciones, efectos de sonido y comportamientos más complejos. ¡Las posibilidades son infinitas!
Recuerda, la programación es un proceso de aprendizaje constante. ¡No tengas miedo de experimentar y divertirte mientras aprendes! ¡Buena suerte con tu desarrollo de juegos!