Advertisement
gomuani

EnemigoPatrulla

Jun 20th, 2025
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.62 KB | Gaming | 0 0
  1.  
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5.  
  6. public class EnemigoPatrulla : MonoBehaviour
  7. {
  8.     public Transform[] puntosPatrulla;   // Puntos de patrulla asignados desde el Inspector
  9.     public float velocidad = 2f;         // Velocidad de movimiento
  10.     private int siguientePunto = 0;      // Índice del siguiente punto al que se moverá
  11.     private bool mirandoDerecha = true;  // Dirección actual del enemigo
  12.  
  13.     private void Update()
  14.     {
  15.         // Si no hay puntos, no hacer nada
  16.         if (puntosPatrulla.Length == 0)
  17.             return;
  18.  
  19.         // Mover al enemigo hacia el siguiente punto
  20.         Transform objetivo = puntosPatrulla[siguientePunto];
  21.         transform.position = Vector2.MoveTowards(transform.position, objetivo.position, velocidad * Time.deltaTime);
  22.  
  23.         // Si llega al punto objetivo
  24.         if (Vector2.Distance(transform.position, objetivo.position) < 0.1f)
  25.         {
  26.             siguientePunto++;
  27.  
  28.             // Si llegó al último punto, volver al primero
  29.             if (siguientePunto >= puntosPatrulla.Length)
  30.                 siguientePunto = 0;
  31.         }
  32.  
  33.         // Verifica si necesita voltearse
  34.         if ((objetivo.position.x < transform.position.x && mirandoDerecha) ||
  35.             (objetivo.position.x > transform.position.x && !mirandoDerecha))
  36.         {
  37.             Flip();
  38.         }
  39.     }
  40.  
  41.     // Método para voltear al enemigo
  42.     void Flip()
  43.     {
  44.         mirandoDerecha = !mirandoDerecha;
  45.         Vector3 escala = transform.localScale;
  46.         escala.x *= -1;
  47.         transform.localScale = escala;
  48.     }
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement