Jump to content
Sign in to follow this  
RankDown

Por que este script me da error

Recommended Posts

Hola, a ver si me pueden ayudar con este script, ya que med a un error y no soy muy bueno a la hora de hacer scripts xD.

 

void Update () 
{
   // Activamos o desactivamos la gravedad en función de la variable 'Terrestre'
   thisRigidbody.useGravity = Terrestre;

   // Calculamos la velocidad hacia el siguiente hito (si no hubiese velocidad definida para
   // alguno de los hitos, asumiremos que es 0 y por tanto el objeto quedará parado)
   float VelocidadHaciaHito = 0;
   try
   {
      VelocidadHaciaHito = VelocidadesPatronMovimiento[HitoSiguiente];
   }
   catch
   {
      VelocidadHaciaHito = 0;
   }

   // Comprobamos si podemos ir hacia el siguiente hito
   if (CanGoToNextMilestone)
   {
      try
      {
         // Movemos al objeto hacia el siguiente hito
         if(IrHaciaHito(HitosPatronMovimiento[HitoSiguiente].transform.position, VelocidadHaciaHito))
         {
            // Justo cuando lleguemos a un hito, paramos al objeto
            CanGoToNextMilestone = false;

            // Activamos el/los script/s de comportamiento correspondiente/s al hito actual (los que
            // su nombre empiecen contengan la palabra 'Patron').
            // Explicaremos estos scripts más adelante.
            bool patronFound = false;
            MonoBehaviour[] milestoneScripts = HitosPatronMovimiento[HitoSiguiente].GetComponents<MonoBehaviour>();
            foreach (MonoBehaviour script in milestoneScripts)
            {
               if (script.GetType().Name.Contains("Patron"))
               {
                  patronFound = true;
                  script.enabled = true;
               }
            }

            // Si no encontramos ningún script de comportamiento en el hito, continuamos al siguiente
            if (!patronFound)
            {
               CanGoToNextMilestone = true;
            }

            // Calculamos cual será el próximom hito
            if (HitoSiguiente != HitosPatronMovimiento.Length - 1)
            {
               HitoSiguiente++;
            }
            else
            {
               HitoSiguiente = 0;
            }
         }
      }
      catch
      {
         HitoSiguiente++;
      }
   }
}

Share this post


Link to post
Share on other sites

Ayudaría un poco si dijeses que error te da.

PD: Y si sabes un poco de inglés, es muy posible que el propio error te diga que tipo de error es y donde se encuentra exactamente.

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...