Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

fallo usando OnBecameInvisible

Iniciado por Joawin, Agosto 03, 2015, 04:38:04 PM

Tema anterior - Siguiente tema
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.

¿Por qué no lo destruyes cuando pase determinado tiempo?Destroy(gameObject, tiempoF);  

Estudiante Ing. Sistemas 



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.

Comprueba que el component renderer está en el mismo gameObject que el script

FNK Games  Games Developer  -  Juegos realizados en Unity para iOS y Android



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.

Etiquetas: