Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Joawin en Agosto 03, 2015, 04:38:04 PM

Título: fallo usando OnBecameInvisible
Publicado por: Joawin en Agosto 03, 2015, 04:38:04 PM
Buenas, en mi juego posees una ballesta que dispara flechas y para que estas no creen bajadas de fps al generarse muchas flechas puse siguiente script: 
using UnityEngine;
using System.Collections;public class ArrowDestroyer : MonoBehaviour
{
    void OnBecameInvisible ()
    {
        //Destruimos el objeto padre cuando salga fuera de la pantalla
        Destroy(transform.parent.gameObject);
    }
}[/quote] pero únicamente funciona cuando lo añado con el juego en marcha y si se lo añado antes no dispara las flechas e incluso borra los gameobjects.
Título: fallo usando OnBecameInvisible
Publicado por: DavidV en Agosto 03, 2015, 05:16:38 PM
¿Por qué no lo destruyes cuando pase determinado tiempo?Destroy(gameObject, tiempoF);  
Título: fallo usando OnBecameInvisible
Publicado por: Quel en Agosto 07, 2015, 05:31:08 PM
Pon un Debug.Log para ver en que momento se ejecuta el OnBecameInvisible. Quizás lo hace en algún momento que no esperas que lo haga.
Título: fallo usando OnBecameInvisible
Publicado por: Mantis en Agosto 08, 2015, 12:14:41 PM
Comprueba que el component renderer está en el mismo gameObject que el script
Título: fallo usando OnBecameInvisible
Publicado por: iRobb en Agosto 10, 2015, 04:20:38 PM
Yo te recomendaría que tuvieras un pool de objetos y activarlos/desactivarlos en vez de Instantiate/destroy. Lo digo porqué también te va a crear una sobrecarga en los fps cada vez que lo hagas.