Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Cristian07 en Noviembre 05, 2015, 07:33:15 AM

Título: OnCollisionEnter recursivo ????
Publicado por: Cristian07 en Noviembre 05, 2015, 07:33:15 AM
por favor alguien me puede decir como puedo lograr que el método que tengo hacerlo recursivo, ya que si lo vuelvo a llamar dentro del mismo método me da un error ;( public  void OnCollisionEnter (Collision obj){
  
        if (obj.gameObject.name == "PlayerModel") { //Aqui se pone un && para saber si el enemigo principal esta atacando también 
            print ("Al enemigo lo tocaron  !!! y fue el persoanje principal :O");
            cur_Health -= 50;
        }
    }
Título: OnCollisionEnter recursivo ????
Publicado por: mrpacogp en Noviembre 05, 2015, 07:50:45 AM
No te entiendo, puedes pasarle el bool despues no es necesario que lo hagas junto con la comparativa del tag.
Título: OnCollisionEnter recursivo ????
Publicado por: Arthure en Noviembre 05, 2015, 08:01:11 AM
No se entiende mucho lo que pretendes conseguir o a que te refieres con hacerlo recursivo  esa funcion no la puedes hacer recursiva porque no es una funcion que llames tu mismo desde codigo, se ejecuta automaticamente cuando se produce algun evento (en este caso cuando hay una colision con otro gameobject).Si lo que quieres conseguir es que se ejecute todo el tiempo que este en contacto los dos gameobjects y no solo en el momento exacto de producirse la colision (es lo mas parecido a recursivo que se me ocurre con esa funcion), cambia OnCollisionEnter por OnCollisionStay.P.D. ojo ! si haces eso, deberas modificar la linea "cur_Health -= 50" multiplicandola por Time.deltaTime por ejemplo porque de lo contrario te encontraras que restara 500 por segundo mientras esten tocando los dos objetos.
Título: OnCollisionEnter recursivo ????
Publicado por: Cristian07 en Noviembre 05, 2015, 08:35:43 PM
gracias logre lo que queria hacer Arthure